Heim > Java > javaLernprogramm > Wie lese und schreibe ich dieselbe Datei in Java? (Code)

Wie lese und schreibe ich dieselbe Datei in Java? (Code)

不言
Freigeben: 2018-09-28 13:42:48
nach vorne
2999 Leute haben es durchsucht

Der Inhalt dieses Artikels dreht sich darum, wie man dieselbe Datei in Java liest und schreibt. (Code), es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Die gleiche Datei kann nicht gleichzeitig gelesen und geschrieben werden, da beim Schreiben der Datei die Originaldatei überschrieben wird. Wenn dies der Fall ist, wird die Datei überschrieben und kann nicht gelesen werden Nächstes Mal.

Natürlich können Sie für zwei verschiedene Dateien gleichzeitig lesen und schreiben

Titel: 26 ungeordnete Buchstaben werden in einem Text gespeichert, und die Buchstaben müssen sein sortiert und dann in das Dateimedium neu geschrieben

Analyse: Der gelesene Dateiinhalt kann in einer bestimmten Form im Speicher abgelegt und dann separat geschrieben und bearbeitet werden.

1. Verwenden Sie eine Sammlung, um die gelesene Datei zu speichern

public static void fileRevise(File file) throws IOException {
        Reader reader=new BufferedReader(new FileReader(file));
        //读取的数据用内存为中介,存取,如建立一个集合
        int len;
        char[] charArray=new char[1024];
        //集合用于储存读取的数据
        List<Character> list=new ArrayList<>();//char 类型的集合,储存char[]读取的数据
        while ((len=reader.read(charArray))!=-1){
            for (int i = 0; i <len ; i++) {
                list.add(charArray[i]);//char->string
            }
        }
        char[] newArray=new char[list.size()];
        for (int i = 0; i <list.size() ; i++) {
            newArray[i]=list.get(i);
        }
        Arrays.sort(newArray);
        Writer write=new BufferedWriter(new FileWriter(file));
        write.write(newArray);
        //关闭流

        reader.close();
        write.close();
    }
Nach dem Login kopieren

2. Verwenden Sie eine Zeichenfolge, um sie zu speichern. Die einzigartige readLine()-Methode in BufferReader kann jeweils eine Zeile lesen.

//用字符缓冲流的方法readline()读取,用字符串缓存,将字符串转为字符数组重新写入
    public static void fileRevise2(File file) throws IOException {
        Reader reader=new BufferedReader(new FileReader(file));
        StringBuilder sb=new StringBuilder();
        String str;
        while ((str=((BufferedReader) reader).readLine())!=null){
            sb.append(str);
        }
        System.out.print(sb);
        char[] cArray=sb.toString().toCharArray();//
        Arrays.sort(cArray);
        reader.close();
        Writer write=new BufferedWriter(new FileWriter(file));
        write.write(cArray);
        write.close();
    }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lese und schreibe ich dieselbe Datei in Java? (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage