记录错误:文件I / O.

时间:2015-09-16 17:12:39

标签: java eclipse file-io logged

这里我讲的是我在学习文件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文件?

2 个答案:

答案 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也应该查看它。