java文件操作,Java文件操作

发布时间:2023-01-08

本文目录一览:

1、【高额奖赏】用java实现文件操作。 2、java 根据一个文件内容同时操作多个文件? 3、java遍历指定文件夹下的所有子文件夹怎么操作? 4、java里的文件操作

【高额奖赏】用java实现文件操作。

1、执行代码如下,因不支持插入代码故放图片 2、执行结果

java 根据一个文件内容同时操作多个文件?

可以用多线程来操作,java8的异步多线程CompletionStage接口,就可以实现,或者不使用多线程使用单线程版反应器模式Reactor(反应器)定制几个处理器接口,根据第一个文件的内容来分发到不同的处理器来处理你具体的需求,具体代码有空可以写给你

java遍历指定文件夹下的所有子文件夹怎么操作?

import java.io.File ;
import java.io.IOException ;
public class FileDemo11{
    public static void main(String args[]){
        File my = new File("d:" + File.separator) ;// 操作路径,可以有外部参数决定的
        print(my) ;
    }
    public static void print(File file){// 递归调用
        if(file!=null){// 判断对象是否为空
            if(file.isDirectory()){// 如果是目录
                File f[] = file.listFiles() ;// 列出全部的文件
                if(f!=null){// 判断此目录能否列出
                    for(int i=0;i<f.length;i++){
                        print(f[i]) ;// 因为给的路径有可能是目录,所以,继续判断
                    }
                }
            }else{
                System.out.println(file) ;// 输出路径
            }
        }
    }
};

java里的文件操作

TextFileOutputDemo Part 1

public static void main(String[] args)
{
    PrintWriter outputStream = null;
    try
    {
        outputStream =
        new PrintWriter(new FileOutputStream("out.txt"));
    }
    catch(FileNotFoundException e)
    {
        System.out.println("Error opening the file out.txt.");
        System.exit(0);
    }
}
//: c11:IOStreamDemo.java
// Typical I/O stream configurations.
import java.io.*;
public class IOStreamDemo {
    // Throw exceptions to console:
    public static void main(String[] args)
    throws IOException {
        // 1. Reading input by lines:
        BufferedReader in =
        new BufferedReader(
        new FileReader("IOStreamDemo.java"));
        String s, s2 = new String();
        while((s = in.readLine())!= null)
            s2 += s + "\n";
        in.close();
        // 1b. Reading standard input:
        BufferedReader stdin =
        new BufferedReader(
        new InputStreamReader(System.in));
        System.out.print("Enter a line:");
        System.out.println(stdin.readLine());
        // 2. Input from memory
        StringReader in2 = new StringReader(s2);
        int c;
        while((c = in2.read()) != -1)
            System.out.print((char)c);
        // 3. Formatted memory input
        try {DataInputStream in3 =new DataInputStream(
        new ByteArrayInputStream(s2.getBytes()));
        while(true)
            System.out.print((char)in3.readByte());
        } catch(EOFException e) {
            System.err.println("End of stream");
        } // 4. File output
        try { BufferedReader in4 =
        new BufferedReader( new StringReader(s2));
            PrintWriter out1 =
            new PrintWriter(new BufferedWriter(
            new FileWriter("IODemo.out")));
            int lineCount = 1;
            while((s = in4.readLine()) != null )
                out1.println(lineCount++ + ": " + s);
            out1.close();
        } catch(EOFException e) {
            System.err.println("End of stream");
        }
        // 5. Storing recovering data
        try { DataOutputStream out2 =
        new DataOutputStream(new BufferedOutputStream(
        new FileOutputStream("Data.txt")));
        out2.writeDouble(3.14159);
        out2.writeChars("That was pi\n");
        out2.writeBytes("That was pi\n"); out2.close();
        DataInputStream in5 = new DataInputStream(
        new BufferedInputStream(
        new FileInputStream("Data.txt")));
        BufferedReader in5br =
        new BufferedReader(new InputStreamReader(in5));
        // Must use DataInputStream for data:
        System.out.println(in5.readDouble());
        // Can now use the "proper" readLine():
        System.out.println(in5br.readLine());
        System.out.println(in5br.readLine());
        } catch(EOFException e) {
            System.err.println("End of stream");}
        // 6. Reading/writing random access files
        RandomAccessFile rf =
        new RandomAccessFile("rtest.dat", "rw");
        for(int i = 0; i < 10; i++)
            rf.writeDouble(i*1.414);
        rf.close();
        rf = new RandomAccessFile("rtest.dat", "rw");
        rf.seek(5*8);
        rf.writeDouble(47.0001);
        rf.close();
        rf = new RandomAccessFile("rtest.dat", "r");
        for(int i = 0; i < 10; i++)
            System.out.println(
            "Value " + i + ": " +
            rf.readDouble());
        rf.close();
    }
}
//: c11:GZIPcompress.java
// Uses GZIP compression to compress a file
// whose name is passed on the command line.
import java.io.*;
import java.util.zip.*;
public class GZIPcompress {
    // Throw exceptions to console:
    public static void main(String[] args)
    throws IOException {
        BufferedReader in =
        new BufferedReader(
        new FileReader(args[0]));
        BufferedOutputStream out =
        new BufferedOutputStream(
        new GZIPOutputStream(
        new FileOutputStream("test.gz")));
        System.out.println("Writing file");
        int c;
        while((c = in.read()) != -1)
            out.write(c);
        in.close();
        out.close();
        System.out.println("Reading file");
        BufferedReader in2 =
        new BufferedReader(
        new InputStreamReader(
        new GZIPInputStream(
        new FileInputStream("test.gz"))));
        String s;
        while((s = in2.readLine()) != null)
            System.out.println(s);
    }
}