记录错误:文件 I/O
Error Logged : File I/O
这里我把学习文件时遇到的问题放在这里i/o...
import java.io.*;
import java.util.Scanner;
public class UserFILE_IO {
static FileInputStream fin;
static FileOutputStream fout, fout1;
public static void main(String[] args) {
try {
fin = new FileInputStream("ABC.txt");
fout = new FileOutputStream("ABC.txt");
} catch (FileNotFoundException e) {
System.out.println("FILE NOT FOUND!!!");
}
String s;
Scanner sc = new Scanner(System.in);
s = sc.nextLine();
try {
fout.write(s.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
try {
fout.close();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
sc.close();
try {
fout1 = new FileOutputStream("ABC1.txt");
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
try {
char c;
while ((c = (char) fin.read()) != -1) {
fout1.write(c);
System.out.print(c);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fin.close();
fout1.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
现在我面临的问题是,每当我尝试打开
ABC1.txt
来自工作区文件夹(在 C: 中)的文件,它显示大小为 12.00 MB,每当我刷新文件夹时,大小也会每次增加。我想提的另一件事是,我看不到文件
ABC.txt
在我使用的 IDE (Eclipse) 中...
我想要
的解决方案
1)为什么文件 ABC1.txt 大于 12.00 MB +
2) 为什么我无法在 IDE 中获取 ABC.txt 文件?
我明白了!!!
将 class 范围删除为 public 并提及为:
class UserFILE_IO{}
您只需将代码更改为:
try{
fout = new FileOutputStream("ABC.txt");
fin = new FileInputStream("ABC.txt");
}
最后将循环更改为:
try {
char c;
while ((c = (char) fin.read()) == 1) {
fout1.write(c);
System.out.print(c);
}
那你就万事大吉了。
您也可以在该包内包含程序源代码的文件夹中找到它。
在这里,由于您没有提到要存储文件的正确路径,因此它必须是默认位置的情况。
尽量把路径写的更准确一些。
这里的情况可能是这样的,abc.txt 同一个文件也可以用文件 ABC.txt 的内容覆盖所以,如果存在任何名为 abc.txt 的文件,那么 ypu 也应该调查一下。
这里我把学习文件时遇到的问题放在这里i/o...
import java.io.*;
import java.util.Scanner;
public class UserFILE_IO {
static FileInputStream fin;
static FileOutputStream fout, fout1;
public static void main(String[] args) {
try {
fin = new FileInputStream("ABC.txt");
fout = new FileOutputStream("ABC.txt");
} catch (FileNotFoundException e) {
System.out.println("FILE NOT FOUND!!!");
}
String s;
Scanner sc = new Scanner(System.in);
s = sc.nextLine();
try {
fout.write(s.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
try {
fout.close();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
sc.close();
try {
fout1 = new FileOutputStream("ABC1.txt");
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
try {
char c;
while ((c = (char) fin.read()) != -1) {
fout1.write(c);
System.out.print(c);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fin.close();
fout1.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
现在我面临的问题是,每当我尝试打开
ABC1.txt
来自工作区文件夹(在 C: 中)的文件,它显示大小为 12.00 MB,每当我刷新文件夹时,大小也会每次增加。我想提的另一件事是,我看不到文件
ABC.txt
在我使用的 IDE (Eclipse) 中... 我想要
的解决方案1)为什么文件 ABC1.txt 大于 12.00 MB +
2) 为什么我无法在 IDE 中获取 ABC.txt 文件?
我明白了!!! 将 class 范围删除为 public 并提及为:
class UserFILE_IO{}
您只需将代码更改为:
try{
fout = new FileOutputStream("ABC.txt");
fin = new FileInputStream("ABC.txt");
}
最后将循环更改为:
try {
char c;
while ((c = (char) fin.read()) == 1) {
fout1.write(c);
System.out.print(c);
}
那你就万事大吉了。
您也可以在该包内包含程序源代码的文件夹中找到它。 在这里,由于您没有提到要存储文件的正确路径,因此它必须是默认位置的情况。 尽量把路径写的更准确一些。
这里的情况可能是这样的,abc.txt 同一个文件也可以用文件 ABC.txt 的内容覆盖所以,如果存在任何名为 abc.txt 的文件,那么 ypu 也应该调查一下。