Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I';我试图用Java读取一个文本文件,但当程序执行时,它会被删除_Java - Fatal编程技术网

I';我试图用Java读取一个文本文件,但当程序执行时,它会被删除

I';我试图用Java读取一个文本文件,但当程序执行时,它会被删除,java,Java,我试图制作两个能够读写文本文件的对象。问题发生在我执行程序时。文本文件被删除。为什么会发生这种情况?我该如何解决 代码: 要读取文本文件的对象: import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class Reader { p

我试图制作两个能够读写文本文件的对象。问题发生在我执行程序时。文本文件被删除。为什么会发生这种情况?我该如何解决

代码:

要读取文本文件的对象:

    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;

    public class Reader {

        public static String fromFile;
        public static FileReader fr;
        public static BufferedReader file;

        public Reader(String fileName) throws IOException, FileNotFoundException {
            fr = new FileReader(fileName);
            file = new BufferedReader(fr);
        }

        public void readFile() throws IOException {
            while((fromFile = file.readLine()) != null) {
                System.out.println(fromFile);
            }
        }

    }
    import java.io.BufferedWriter;
    import java.io.FileNotFoundException;
    import java.io.FileWriter;
    import java.io.IOException;

    public class Writer {

        public static FileWriter fw;
        public static BufferedWriter file;

        public Writer(String fileName) throws IOException, FileNotFoundException {
            fw = new FileWriter(fileName);
            file = new BufferedWriter(fw);
        }

    }
要写入文本文件的对象:

    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;

    public class Reader {

        public static String fromFile;
        public static FileReader fr;
        public static BufferedReader file;

        public Reader(String fileName) throws IOException, FileNotFoundException {
            fr = new FileReader(fileName);
            file = new BufferedReader(fr);
        }

        public void readFile() throws IOException {
            while((fromFile = file.readLine()) != null) {
                System.out.println(fromFile);
            }
        }

    }
    import java.io.BufferedWriter;
    import java.io.FileNotFoundException;
    import java.io.FileWriter;
    import java.io.IOException;

    public class Writer {

        public static FileWriter fw;
        public static BufferedWriter file;

        public Writer(String fileName) throws IOException, FileNotFoundException {
            fw = new FileWriter(fileName);
            file = new BufferedWriter(fw);
        }

    }
创建Reader和Writer对象并使用Reader读取文本文件的主要方法:

    import java.io.IOException;

    public class Main {

        public static Writer toFile;
        public static Reader fromFile;
        public static String fileName = "test123.txt";

        public static void main(String[] args) throws IOException  {

            toFile = new Writer(fileName);
            fromFile = new Reader(fileName);

            fromFile.readFile();
        }

    }

这只是我的建议

  import java.io.*;

    public class Main {

        public static void main(String[] args) throws IOException  {
            public static String fileName = "test123.txt";
            Read rd=new Read();
            rd.reader(filename);
        }

    }

public class Read
{ 
        public void reader(String filename)
       {
        FileReader fr=new FileReader(filename);
        BufferedReader bfr=new BufferedWriter (fr);
        String text="";
        String line=reader.readLine();
        while(line!=null)
        {
            text+=line;
            line=reader.readLine();
        } 
        System.out.println(text);

       }
   fr.close();
   bfr.close();
}

您似乎试图读取和写入同一个文件,这从来都不是一个好主意,但因为您没有指示
编写器执行其他操作,所以它暂停了文件的内容—这是默认情况下的操作。也许您应该阅读并查看有哪些选项可用于阻止它文本文件将以写入的内容开始,当程序运行时,不会向控制台打印任何内容。当我回头看文本文件时,已经很清楚了为什么你首先要打开一个writer?我看不到实际的书写。请尝试关闭文件。fr.close();fw.close();可能是您面临一些访问问题,否则它通常不会被删除。“我想编写一个程序,用户可以输入一个名称,然后它会找到其中包含该名称的行并打印信息”-那么为什么您需要在写入模式下打开该文件?