fileinputstream读取中文
时间: 2023-04-24 20:02:09 浏览: 404
FileInputStream可以读取中文字符,但需要注意编码问题。如果文件是UTF-8编码,可以使用以下代码读取:
```
FileInputStream fis = new FileInputStream("文件路径");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
```
其中,InputStreamReader将字节流转换为字符流,并指定编码为UTF-8。BufferedReader可以按行读取文件内容。
相关问题
java读取shp中文乱码
如果您在Java中读取shp文件时遇到中文乱码问题,可能是因为shp文件使用了GBK编码,而Java默认使用UTF-8编码。您可以尝试以下几种方法:
1. 使用GBK编码读取shp文件
```java
FileInputStream fis = new FileInputStream("path/to/shapefile.shp");
InputStreamReader isr = new InputStreamReader(fis, "GBK");
```
2. 将shp文件转换为UTF-8编码
您可以使用一些工具将shp文件转换为UTF-8编码,例如Notepad++等。
3. 使用第三方库读取shp文件
您可以使用一些第三方库来读取shp文件,例如GeoTools等。这些库通常支持多种编码,可以方便地解决中文乱码问题。
希望这些方法能够帮助您解决问题。
java读取excel中文乱码
如果你在Java中读取Excel文件时遇到了中文乱码的问题,可以尝试以下方法来解决:
1. 使用Unicode编码读取Excel文件,例如:
```
String str = new String(cell.getStringCellValue().getBytes(),"UTF-8");
```
2. 使用Apache POI库读取Excel文件,并设置文件编码为UTF-8,例如:
```
Workbook wb = WorkbookFactory.create(new FileInputStream(file));
Sheet sheet = wb.getSheetAt(0);
Row row = sheet.getRow(0);
Cell cell = row.getCell(0);
String str = new String(cell.getStringCellValue().getBytes("UTF-8"),"UTF-8");
```
3. 如果你的Excel文件编码不是UTF-8,可以根据文件编码来设置编码格式,例如:
```
InputStreamReader isr = new InputStreamReader(new FileInputStream(file),"GBK");
Workbook wb = WorkbookFactory.create(isr);
Sheet sheet = wb.getSheetAt(0);
Row row = sheet.getRow(0);
Cell cell = row.getCell(0);
String str = cell.getStringCellValue();
```
希望这些方法能够帮助你解决中文乱码问题。
阅读全文