文件读取和路径表示

本文介绍在Java中如何通过文件类、输入输出流、读写对象等操作读取文件内容,包括路径表示、实例代码及常见问题讨论。

路径表示:

    在windows下,一般路径表示:c:\a\b\c.txt,如果你要读取文件里面的内容,那么你可以用两种方式表示路径,一种是c:/a/b/c.txt。一种是c:\\a\\b\\c.txt.。

    一般读取文件的格式如下:

   先创建文件类File->创建文件输入流fileinputstream或文件输出流fileoutputstream->创建字节到字符的读写对象inputstreamreader或outputstreamwriter->创建字符缓存读取对象bufferedreader或字符缓存写入对象bufferedwriter。下面给出一个实例,并就几个常见问题做讨论。


public static void main(String[] args) {  
	        try {  
	            String charsetName = "UTF-8";  
	            String inputdir = Configuration.getProperty("inputdir");
	            String outputdir = Configuration.getProperty("outputdir");	        	              
	            if(file.isDirectory()) {				
					System.out.println("该File对象是一个目录");
					String[] fileList = file.list();
					for(int i=0;i<fileList.length;++i) {
						fileList[i] = inputdir+"/"+fileList[i];
					}
					
				}
	            
	            if (file.isFile() && file.exists())   
	            {  
	                InputStreamReader insReader = new InputStreamReader(  
	                        new FileInputStream(file), charsetName);  	  
	                BufferedReader bufReader = new BufferedReader(insReader);  
	  
	                String line = new String();  
	                while ((line = bufReader.readLine()) != null) {  
	                	System.out.println(line);  
	                }  
	                bufReader.close();  
	                insReader.close();  
	            }  
	  
	        } catch (Exception e) {  
	            System.out.println("读取文件内容操作出错");  
	            e.printStackTrace();  
	        }  
	    }  




    

### 文件类型支持 `xlrd` 是一个用于读取 Excel 文件的 Python 模块,支持 `.xls` `.xlsx` 两种格式的文件。其中: - `.xls` 格式是 Excel 97-2003 的二进制文件格式,`xlrd` 对其支持较好。 - `.xlsx` 格式是 Excel 2007 及以上版本的基于 XML 的文件格式,从 `xlrd` 版本 1.2.0 开始支持读取该格式[^1]。 需要注意的是,虽然 `xlrd` 支持 `.xlsx` 文件读取,但其功能主要集中在读取数据,不支持写入操作。如果需要对 `.xlsx` 文件进行写入操作,建议使用其他库如 `openpyxl` 或 `xlsxwriter`。 --- ### 文件路径设置要求 在使用 `xlrd` 读取 Excel 文件时,文件路径的设置需要符合以下要求: 1. **绝对路径与相对路径**: - 支持使用绝对路径,例如:`C:\\Users\\user\\Documents\\example.xls`。 - 也支持使用相对路径,例如:`example.xls`(前提是文件位于当前工作目录中)或 `data/example.xls`(表示当前目录下的 `data` 子目录中的文件)[^2]。 2. **路径格式**: - 在 Windows 系统中,路径分隔符可以使用反斜杠 `\` 或双反斜杠 `\\`,也可以使用正斜杠 `/`。例如:`C:/Users/user/Documents/example.xls`。 - 在 Linux 或 macOS 系统中,路径分隔符通常使用正斜杠 `/`,例如:`/home/user/documents/example.xls`。 3. **路径编码**: - 路径中不应包含特殊字符或空格,避免引发路径解析错误。如果路径中包含空格,建议使用英文双引号包裹路径,例如:`"C:\\Program Files\\example.xls"`。 4. **文件存在性**: - 需确保路径指向的文件确实存在,否则会抛出 `IOError` 异常。 --- ### 示例代码:读取 Excel 文件 以下是一个使用 `xlrd` 读取 Excel 文件的示例代码,展示如何打开文件并获取第一个工作表的行数列数: ```python import xlrd # 打开 Excel 文件 workbook = xlrd.open_workbook("example.xls") # 或使用 .xlsx 文件 # 获取第一个工作表 sheet = workbook.sheet_by_index(0) # 获取行数列数 rows = sheet.nrows cols = sheet.ncols print(f"工作表的行数为:{rows}") print(f"工作表的列数为:{cols}") ``` --- ### 注意事项 - 如果文件路径不正确或文件损坏,`xlrd.open_workbook()` 方法会抛出异常。 - 在处理 `.xlsx` 文件时,由于 `xlrd` 的实现方式不同,某些高级功能(如公式计算、样式读取)可能无法支持。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值