读取文件的代码java(读取文件 java)

http://www.itjxue.com  2023-04-10 04:33  来源:未知  点击次数: 

求代码!!用Java读取一个文件夹中所有的java文件,并读取文件的内容,把所有的tab(缩进符)替换为4个空格

仅供参考

package?com.kidd.test.zhidao;

import?java.io.BufferedReader;

import?java.io.BufferedWriter;

import?java.io.File;

import?java.io.FileReader;

import?java.io.FileWriter;

import?java.io.IOException;

/**

?*?Hello?world!

?*

?*/

public?class?Execute?{

public?static?void?main(String[]?args)?{

File?file?=?new?File("D:\\123");

listFile(file);

}

private?static?void?listFile(File?file)?{

if?(!file.exists()?||?!file.isDirectory())?{

System.out.println("文件路径不合法!");

return;

}

String[]?strings?=?file.list();

File?javaFile;

for?(String?filename?:?strings)?{

javaFile?=?new?File(file.getPath()?+?File.separator?+?filename);

if?(javaFile.isFile())?{

if?(filename.endsWith(".java"))?{

try?{

modifyFile(javaFile);

}?catch?(IOException?e)?{

e.printStackTrace();

}

}

}?else?if?(javaFile.isDirectory())?{

listFile(javaFile);

}

}

}

private?static?void?modifyFile(File?javaFile)?throws?IOException?{

BufferedReader?bReader?=?new?BufferedReader(new?FileReader(javaFile));

File?tempFile?=?new?File(javaFile.getParent()?+?File.separator?+?javaFile.getName()?+?".tmp");

if?(!tempFile.exists()??!tempFile.createNewFile())?{

System.out.println("创建临时文件失败.临时文件路径为:"?+?tempFile.getPath());

bReader.close();

return;

}

BufferedWriter?bWriter?=?new?BufferedWriter(new?FileWriter(tempFile));

String?temp;

boolean?modify?=?false;

while?((temp?=?bReader.readLine())?!=?null)?{

if?(!modify??temp.indexOf("\t")?!=?-1)?{

modify?=?true;

}

bWriter.write(temp.replaceAll("\t",?"????")+"\r\n");

}

bWriter.close();

bReader.close();

if?(modify)?{

System.out.println("该文件需要修改.File="?+?javaFile.getPath());

File?bakFile?=?new?File(javaFile.getPath()?+?".bak");

if?(!javaFile.renameTo(bakFile))?{

System.out.println("重命名源文件失败.源文件为:"?+?javaFile);

tempFile.delete();

return;

}

if?(!tempFile.renameTo(javaFile))?{

System.out.println("重命名临时文件失败.");

if?(!bakFile.renameTo(javaFile))?{

System.out.println("还原源文件失败,源文件现在的路径是:"?+?bakFile);

}

tempFile.delete();

return;

}

bakFile.delete();

}?else?{

System.out.println("该文件未存在需要修改的内容.File="?+?javaFile.getPath());

tempFile.delete();

}

}

}

怎么用java代码读取excel文件

本例使用java来读取excel的内容并展出出结果,代码如下:

复制代码 代码如下:

import java.io.BufferedInputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.text.DecimalFormat;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Date;

import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFDateUtil;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class ExcelOperate {

public static void main(String[] args) throws Exception {

File file = new File("ExcelDemo.xls");

String[][] result = getData(file, 1);

int rowLength = result.length;

for(int i=0;irowLength;i++) {

for(int j=0;jresult[i].length;j++) {

System.out.print(result[i][j]+"\t\t");

}

System.out.println();

}

}

/**

* 读取Excel的内容,第一维数组存储的是一行中格列的值,二维数组存储的是多少个行

* @param file 读取数据的源Excel

* @param ignoreRows 读取数据忽略的行数,比喻行头不需要读入 忽略的行数为1

* @return 读出的Excel中数据的内容

* @throws FileNotFoundException

* @throws IOException

*/

public static String[][] getData(File file, int ignoreRows)

throws FileNotFoundException, IOException {

ListString[] result = new ArrayListString[]();

int rowSize = 0;

BufferedInputStream in = new BufferedInputStream(new FileInputStream(

file));

// 打开HSSFWorkbook

POIFSFileSystem fs = new POIFSFileSystem(in);

HSSFWorkbook wb = new HSSFWorkbook(fs);

HSSFCell cell = null;

for (int sheetIndex = 0; sheetIndex wb.getNumberOfSheets(); sheetIndex++) {

HSSFSheet st = wb.getSheetAt(sheetIndex);

// 第一行为标题,不取

for (int rowIndex = ignoreRows; rowIndex = st.getLastRowNum(); rowIndex++) {

HSSFRow row = st.getRow(rowIndex);

if (row == null) {

continue;

}

int tempRowSize = row.getLastCellNum() + 1;

if (tempRowSize rowSize) {

rowSize = tempRowSize;

}

String[] values = new String[rowSize];

Arrays.fill(values, "");

boolean hasValue = false;

for (short columnIndex = 0; columnIndex = row.getLastCellNum(); columnIndex++) {

String value = "";

cell = row.getCell(columnIndex);

if (cell != null) {

// 注意:一定要设成这个,否则可能会出现乱码

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

switch (cell.getCellType()) {

case HSSFCell.CELL_TYPE_STRING:

value = cell.getStringCellValue();

break;

case HSSFCell.CELL_TYPE_NUMERIC:

if (HSSFDateUtil.isCellDateFormatted(cell)) {

Date date = cell.getDateCellValue();

if (date != null) {

value = new SimpleDateFormat("yyyy-MM-dd")

.format(date);

} else {

value = "";

}

} else {

value = new DecimalFormat("0").format(cell

.getNumericCellValue());

}

break;

case HSSFCell.CELL_TYPE_FORMULA:

// 导入时如果为公式生成的数据则无值

if (!cell.getStringCellValue().equals("")) {

value = cell.getStringCellValue();

} else {

value = cell.getNumericCellValue() + "";

}

break;

case HSSFCell.CELL_TYPE_BLANK:

break;

case HSSFCell.CELL_TYPE_ERROR:

value = "";

break;

case HSSFCell.CELL_TYPE_BOOLEAN:

value = (cell.getBooleanCellValue() == true ? "Y"

: "N");

break;

default:

value = "";

}

}

if (columnIndex == 0 value.trim().equals("")) {

break;

}

values[columnIndex] = rightTrim(value);

hasValue = true;

}

java Scanner读取文件

用Scanner读取文件流,将会遍历文件中的所有行——允许对每一行进行处理,而不保持对它的引用。总之没有把它们存放在内存中,这是java提供的一种针对大文件进行读取的机制。

以下是示例代码:

FileInputStream inputStream = null;

Scanner sc = null;

try {

inputStream = new FileInputStream(path);

sc = new Scanner(inputStream, "UTF-8");

while (sc.hasNextLine()) {

String line = sc.nextLine();

// System.out.println(line);

}

// note that Scanner suppresses exceptions

if (sc.ioException() != null) {

throw sc.ioException();

}

} finally {

if (inputStream != null) {

inputStream.close();

}

if (sc != null) {

sc.close();

}

}

用java读取桌面上的文档"abc.txt",程序怎么写?

给一个代码你就知道了,代码里面文件的路径改成你电脑上的文件的路径

import?java.io.BufferedReader;

import?java.io.FileInputStream;

import?java.io.IOException;

import?java.io.InputStreamReader;

/**

?*?file?IO流读取并输出文件

?*?@author?Administrator

?*

?*/

public?class?FileIO?{

public?static?void?main(String[]?args)?throws?IOException?{

FileInputStream?fis?=?new?FileInputStream("src/day03/BrDemo.java");//?要读的文件路径

InputStreamReader?isr?=?new?InputStreamReader(fis);//?字符流

BufferedReader?br?=?new?BufferedReader(isr);?//?缓冲

String?line?=?null;

while?((line?=?br.readLine())?!=?null)?{//?字符不等于空

System.out.println(line);//?一行一行地输出

}

br.close();//?关闭文件

}

}

(责任编辑:IT教学网)

更多