Java 文本文件的读写操作

时间:2022-09-15 23:45:25

Java 利用 IO 类操作文本文件,读取文件内文件名列表,根据文件名列表输出 CSS 格式文件


/**
* 读取文本文件,list.txt 每一行的 filename.png 文件名转换为如下形式
*
* .icon-filename{
* background:url('icons/filename.png') no-repeat center center;
* }
*
* 构建 jeasyui 的扩展 css 文件
*
*/
package control;

import java.io.File;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileWriter;

public class iconsEx
{

public static void main(String[] args)
{
final String strExName = ".png";

// 来源文件(文件名列表)
String strInList = "D:/list.txt";
// 输出文件(css 文件)
String strOutList = "D:/iconEx.css";
String strURL = "iconsEx";
String strIconGroup = "ex";
// build
BuildCss(strInList, strOutList, strExName, strURL, strIconGroup);
}

/**
*
* @return
*/
public static Integer BuildCss(final String strInList, final String strOutList, final String strExName, final String strURL,
final String strIconGroup)
{
int count = 0;

Integer result = null;

try
{
// 打開文本文件
File fileIn = new File(strInList); // 要读取以上路径的input。txt文件
// 創建讀文件流
InputStreamReader reader = new InputStreamReader(new FileInputStream(fileIn));
BufferedReader bufferedReader = new BufferedReader(reader);

// 創建輸出文件
File fileOut = new File(strOutList);
fileOut.createNewFile();
// 創建文件寫對象
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(fileOut));

// 創建行緩衝
String strLineTextBuffer = null;
// 遍歷所有行
do {
// 以行的形式讀取存入 string
strLineTextBuffer = bufferedReader.readLine();

// 找到 .png 開始的位置
int point = strLineTextBuffer.indexOf(strExName);
// 如果知道 .png
if (point > 0)
{
final String strFullFilename = strLineTextBuffer;
// 拆分得到文件名
final String strFilename = strFullFilename.substring(0, point);
// 構造新的文本内容
String strTheCSS = String.format(".icon-%s-%s{\n background:url('%s/%s') no-repeat center center;\n}\n", strIconGroup,
strFilename, strURL, strFullFilename);
// 新文本寫入緩衝
bufferedWriter.write(strTheCSS);
// 調試計數器
count++;
}
}
while (strLineTextBuffer != null && strLineTextBuffer.equals("") == false);

System.out.println("共计构建 " + count);

// 把缓存区内容压入文件
bufferedWriter.flush();
// 关闭文件
bufferedReader.close();
bufferedWriter.close();
}
catch (Exception e)
{
e.printStackTrace();
}

return result;
}
}

来源文件:

Java 文本文件的读写操作 


输出文件

Java 文本文件的读写操作


Q群讨论:236201801