21xrx.com
2024-12-23 00:23:36 Monday
登录
文章检索 我的文章 写文章
Java文件读取:探秘文件格式处理
2023-06-15 06:53:03 深夜i     --     --
Java文件读取 文件格式处理 BufferedReader CSV文件 Apache

Java是一门广泛应用于文件读取的编程语言。对于java来说,文件格式处理是至关重要的一环。在实际使用过程中,我们经常需要读取各种格式的文件,如文本文件、图像文件、音频文件等。那么,在Java中该如何读取这些格式文件呢?

针对不同的文件格式,Java提供了不同的类和API,如InputStreamReader、BufferedReader、ImageIO、AudioInputStream等。下面,我将通过5个实例来介绍Java文件读取的一些技巧。

1、读取文本文件

Java中最基本的文件读取方式是读取文本文件。下面的代码演示了如何使用BufferedReader和InputStreamReader读取文本文件:


File file = new File("test.txt");

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));

String line = "";

while ((line = br.readLine()) != null) {

  System.out.println(line);

}

2、读取CSV文件

CSV文件是一种常用的数据格式,我们可以使用Java中的CSVReader来读取CSV文件。下面的代码演示了如何使用CSVReader读取CSV文件:


File file = new File("test.csv");

CSVReader reader = new CSVReader(new FileReader(file));

String[] line;

while ((line = reader.readNext()) != null) {

  System.out.println(Arrays.toString(line));

}

3、读取Excel文件

Java通过Apache POI提供了读写Excel文件的支持。下面的代码演示了如何使用POI读取Excel文件中的数据:


File file = new File("test.xlsx");

Workbook workbook = WorkbookFactory.create(file);

Sheet sheet = workbook.getSheetAt(0);

for (Row row : sheet) {

  for (Cell cell : row) {

    switch (cell.getCellType()) {

      case Cell.CELL_TYPE_STRING:

        System.out.print(cell.getStringCellValue() + "\t");

        break;

      case Cell.CELL_TYPE_NUMERIC:

        System.out.print(cell.getNumericCellValue() + "\t");

        break;

    }

  }

  System.out.println();

}

4、读取图像文件

Java通过ImageIO提供了读写图像文件的支持。下面的代码演示了如何使用ImageIO读取图像文件:


File file = new File("test.png");

BufferedImage image = ImageIO.read(file);

int width = image.getWidth(); 

int height = image.getHeight();

System.out.println("Image size: " + width + "x" + height);

5、读取音频文件

Java通过Java Sound API提供了读写音频文件的支持。下面的代码演示了如何使用Java Sound API读取音频文件:


File file = new File("test.wav");

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);

AudioFormat format = audioInputStream.getFormat();

long frames = audioInputStream.getFrameLength();

double durationInSeconds = (frames + 0.0) / format.getFrameRate();

System.out.println("Duration: " + durationInSeconds + " seconds");

POI、ImageIO、Java Sound API。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复