这里我讲的是我在学习文件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();
}
}
}
现在我面临的问题是,每当我尝试打开
时从工作区文件夹(在C :)中的ABC1.txt
文件,它显示12.00 MB的大小,每当我刷新文件夹时,每次都会增加大小。另外我要提的是,我无法看到文件
的abc.txt
在我使用的IDE(Eclipse)中... 我想要解决方案
1)为什么文件ABC1.txt的大小为12.00 MB +
2)为什么我无法在IDE中获取ABC.txt文件?
答案 0 :(得分:0)
我明白了! 将类范围删除为公开,并提及:
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);
}
然后你会把一切都弄好。
答案 1 :(得分:0)
您也可以在包含该程序包内程序源代码的文件夹中找到它。 在这里,由于您没有提到文件的正确路径,因此它必须是默认位置的情况。 尝试更精确地编写路径。
这里的情况可能是这样的,abc.txt同样的文件也可以用文件ABC.txt的内容覆盖,所以,如果有任何名为abc.txt的文件,那么ypu也应该查看它。