Java实现合并图片为.dat后缀的文档,或合并音乐
这个代码实现了,将文件夹中的MP3音乐文件的路径读取到指定的文档mp3.list(可以根据自己的要求更改文档路径和命名)中,并把读取到的mp3音乐合并成一首歌。
当然,如果你想用于合并图片为以.dat为后缀的文档也是可以的,只需修改路径和合并的文档后缀为.dat即可。
dat文件一般是二进制的文件,用于存放程序所使用的数据,DAT并不是一种标准文件。许多软件都使用这个扩展名,但文件含义不同。
这个代码虽然没有太大的实际意义,但是帮助学习java的IO流还是挺有帮助的。
import java.io.*;
public class App01 {
static String path="C:\\Users\\Administrator\\Desktop\\2021-03-04\\mp3.list";//定义一个全局路径
public static void main(String[] args) throws IOException {
File file=new File("C:\\Users\\Administrator\\Desktop\\2021-03-04");//需要读取的MP3文件所在的文件夹路径
createListFile(file);
FileReader fr=new FileReader(path);//读取mp3.list
BufferedReader br=new BufferedReader(fr);//将字符流转换为字符串流,所以可以一行一行读取mp3.list文档的内容,创建一个使用指定大小输入缓冲区的缓冲字符输入流。
String mp3Name="";
FileOutputStream fos=new FileOutputStream("F:\\合并.mp3");//合并后的音乐存入该路径
while((mp3Name=br.readLine())!=null){
FileInputStream fis=new FileInputStream(mp3Name);
int a=0;
byte buff[]=new byte[1024];//缓冲,一次读取1024个字节。
while((a=fis.read(buff))!=-1){
fos.write(buff,0,a);//可以解决文件复制,大小不同的情况,如果文件不是1024的整数倍大小,会有可能复制的文件比原文件大。
}
fis.close();
}
fos.close();
}
static void createListFile(File file) throws IOException {
FileWriter fw=new FileWriter(path);//将读取到的MP3文件的路径和名字存入该路径的文档中,即以上定义的全局路径。
File files[] = file.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].getName().endsWith(".mp3")){//这里endsWith的作用是实现只读取后缀为.mp3的文件。当然可以修改为自己所需的。
String mp3FileName=files[i].getAbsolutePath();//getAbsolutePath()是读取文件的绝对路径,getName()是读取文件名字。可以取自己需要的。
fw.write(mp3FileName);
fw.write("\r");
fw.write("\n");
}
}
fw.close();
}
}