JAVA高手请进!求一个JAVA程序:将一个文件中的内容复制到另一个文件中。

JAVA高手请进!求一个JAVA程序:将一个文件中的内容复制到另一个文件中。,第1张

最简单的io流问题,不用什么高手,

我给你写个方法,参数是2个字符串,第一个写原文件全路径,第二个写目标文件的全路进。 你试试吧

public void copy(String fromFilePath, String toFilePath) {

try {

FileInputStream fis = new FileInputStream(fromFilePath)

FileOutputStream fos = new FileOutputStream(toFilePath)

byte[] b = new byte[100]

try {

while (fis.read(b) != (-1)) {

fos.write(b)

}

if (fis != null) {

fis.close()

fis = null

}

if (fos != null) {

fos.flush()

fos.close()

fos = null

}

} catch (IOException e) {

System.out.println("io异常")

}

} catch (FileNotFoundException e) {

System.out.println("源文件不存在")

}

public static void main(String[] args) {

//自己把路径补齐,别忘了!!!!!!!!!!!!!!!!

String fromFilePath=" " // 源文件的全路径。 比方"d://myphoto//nihao.mp3"

String toFilePath=" "//目标文件的全路劲。 如果不存在会自动建立,如存在则在文件尾继续添加

new CopyTest().copy(fromFilePath, toFilePath)

}

}

import java.io.BufferedWriterimport java.io.FileOutputStreamimport java.io.FileWriterimport java.io.IOExceptionimport java.io.OutputStreamWriterimport java.io.RandomAccessFilepublic class WriteStreamAppend { public static void method1(String file, String conent) { BufferedWriter out = nulltry { out = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(file, true)))out.write(conent)} catch (Exception e) { e.printStackTrace()} finally { try { out.close()} catch (IOException e) { e.printStackTrace()} } } public static void method2(String fileName, String content) { try { // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件 FileWriter writer = new FileWriter(fileName, true)writer.write(content)writer.close()} catch (IOException e) { e.printStackTrace()} } public static void method3(String fileName, String content) { try { // 打开一个随机访问文件流,按读写方式 RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw")// 文件长度,字节数 long fileLength = randomFile.length()// 将写文件指针移到文件尾。 randomFile.seek(fileLength)randomFile.writeBytes(content)randomFile.close()} catch (IOException e) { e.printStackTrace()} } public static void main(String[] args) { System.out.println("start")method1("c:/test.txt", "追加到文件的末尾")System.out.println("end")}

        String srcDir = "srcfiles"

        String desDir = "desfiles"

        // copy --> only directory and .java file

        IOFileFilter javaSuffixFilter = FileFilterUtils

                .suffixFileFilter(".java")

        IOFileFilter javaFiles = FileFilterUtils.and(FileFileFilter.FILE,

                javaSuffixFilter)

        FileFilter filter = FileFilterUtils.or(DirectoryFileFilter.DIRECTORY,

                javaFiles)

        try {

            FileUtils.copyDirectory(new File(srcDir), new File(desDir), filter)

        } catch (IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace()

        }

        // change suffix .java --> .txt

        Iterator<File> it = FileUtils.iterateFiles(new File(desDir),

                ArrayUtils.add(null, "java"), true)

        for ( it.hasNext()) {

            File f = it.next()

            String absolutePath = f.getAbsolutePath()

            f.renameTo(new File(FilenameUtils.getFullPath(absolutePath)

                    + FilenameUtils.getBaseName(absolutePath) + ".txt"))

        }

指定源目录和目标目录

会复制文件夹下以及子文件夹下的.java文件, 非.java文件不会复制

复制过去后会改后缀名

需要commons-io


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

原文地址: http://outofmemory.cn/tougao/12037790.html

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

发表评论

登录后才能评论

评论列表(0条)

保存