编JAVA程序获取指定D盘下file.txt内容要求创建一个fis字节输入流对象一个buf字节组长度定义为1024整数倍

编JAVA程序获取指定D盘下file.txt内容要求创建一个fis字节输入流对象一个buf字节组长度定义为1024整数倍,第1张

您可以使用以下代码来实现您的需求:

该代码会创建一个 FileInputStream 对象,该对象将从指定的文件路径中读取数据。然后,它会创建一个长度为 1024 的字节数组,并使用 fis.read(buf) 方罩拿敬法将物慎文件内容读敏乎取到该数组中。最后,它会将读取到的内容输出到控制台,并关闭输入流。

Try again

//根据你的要求修改了一下代码,现在已经李枝老能将某文件夹哪升下的所有指定类型文件复制到

//指定文件夹下了

import java.io.BufferedInputStream

import java.io.BufferedOutputStream

import java.io.File

import java.io.FileInputStream

import java.io.FileOutputStream

public class ReadFiles {

public static final String FILTER = "搭掘xml"

public static final String SRC_DIR = "E:\\StudyData"// 待扫描的文件夹

public static final String DES_DIR = "E:\\testdata"// 复制后的目标文件夹

public static void main(String[] args) {

long a = System.currentTimeMillis()

scanDir(SRC_DIR, DES_DIR)

System.out.println("共花费时间:"+(System.currentTimeMillis() - a)/1000+"秒")

}

public static void scanDir(String srcPath, String desPath) {

File dir = new File(srcPath)

File[] files = dir.listFiles()

if (files == null)

return

for (int i = 0i <files.lengthi++) {

if (files[i].isDirectory()) {

scanDir(files[i].getAbsolutePath(), desPath)

} else {

String strFileName = files[i].getAbsolutePath().toLowerCase()

copyFile(strFileName, desPath + files[i].getName())

}

}

}

public static void copyFile(String srcName, String destName) {

if (srcName.endsWith(FILTER)) {

System.out.println("正在复制文件 "+srcName+" 至 "+destName)

try {

BufferedInputStream in = new BufferedInputStream(

new FileInputStream(srcName))

BufferedOutputStream out = new BufferedOutputStream(

new FileOutputStream(destName))

int i = 0

byte[] buffer = new byte[2048]

while ((i = in.read(buffer)) != -1) {

out.write(buffer, 0, i)

}

out.close()

in.close()

} catch (Exception ex) {

ex.printStackTrace()

}

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8252043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存