本文目录一览:
java 根据一个文件内容同时操作多个文件?
可以用多线程来操作,java8的异步多线程CompletionStage接口,就可以实现,或者不使用多线程使用单线程版反应器模式Reactor(反应器)定制几个处理器接口,根据第一个文件的内容来分发到不同的处理器来处理你具体的需求,具体代码有空可以写给你
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);
}
}
java遍历指定文件夹下的所有子文件夹怎么操作?
import java.io.File ;\x0d\x0aimport java.io.IOException ;\x0d\x0apublic class FileDemo11{\x0d\x0apublic static void main(String args[]){\x0d\x0aFile my = new File("d:" + File.separator) ;// 操作路径,可以有外部参数决定的\x0d\x0aprint(my) ;\x0d\x0a}\x0d\x0apublic static void print(File file){// 递归调用\x0d\x0aif(file!=null){// 判断对象是否为空\x0d\x0aif(file.isDirectory()){// 如果是目录\x0d\x0aFile f[] = file.listFiles() ;// 列出全部的文件\x0d\x0aif(f!=null){// 判断此目录能否列出\x0d\x0afor(int i=0;if.length;i++){\x0d\x0aprint(f[i]) ;// 因为给的路径有可能是目录,所以,继续判断\x0d\x0a}\x0d\x0a}\x0d\x0a}else{\x0d\x0aSystem.out.println(file) ;// 输出路径\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a};
【高额奖赏】用java实现文件操作。
1、执行代码如下,因不支持插入代码故放图片
2、执行结果
java 文件夹操作
你好,按照你的要求代码编写如下,可以直接运行
import java.io.File;
public class test {
public static void main(String[] args) {
File root = new File("d:\\");
for (File file : root.listFiles()) {
if (file.isDirectory()) {
for (File f : file.listFiles()) {
String fileName = f.getName();
if (fileName.endsWith(".png")) {
System.out.println(file.getName());
break;
}
}
}
}
}
}