文件读取java代码,文件读取 java

一个文件夹下的多个txt文件,然后随机读取其中一个txt文件的内容(java代码)?

提供个思路:

创新互联服务项目包括应城网站建设、应城网站制作、应城网页制作以及应城网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,应城网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到应城省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

1、把文件夹下所有txt文件的文件名,读取List里。

2、生成一个随机数,随机的范围是:0到List.size()-1。

3、用步骤2生产的随机数取个文件名。List.get(随机数变量)。

4、根据步骤3中取到的文件名,去读取文件内容。

这样就可以随机读取其中一个txt文件的内容了。

跪求Java中写入文件和从文件中读取数据的最佳的代码!

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

public class IOTest {

public static void main(String[] args) {

String str = "123\r\n456";

writeFile(str);//写

String str1 = readFile();//读

System.out.println(str1);

}

/**

* 传递写的内容

* @param str

*/

static void writeFile(String str) {

try {

File file = new File("d:\\file.txt");

if(file.exists()){//存在

file.delete();//删除再建

file.createNewFile();

}else{

file.createNewFile();//不存在直接创建

}

FileWriter fw = new FileWriter(file);//文件写IO

fw.write(str);

fw.flush();

fw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 返回读取的内容

* @return

*/

static String readFile() {

String str = "", temp = null;

try {

File file = new File("d:\\file.txt");

FileReader fr = new FileReader(file);

BufferedReader br = new BufferedReader(fr);//文件读IO

while((temp = br.readLine())!=null){//读到结束为止

str += (temp+"\n");

}

br.close();

fr.close();

} catch (IOException e) {

e.printStackTrace();

}

return str;

}

}

刚写的,够朋友好好学习一下啦,呵呵

多多看API,多多练习

java文件如何读取

java读取文件方法大全

一、多种方式读文件内容。

1、按字节读取文件内容

2、按字符读取文件内容

3、按行读取文件内容

4、随机读取文件内容

Java代码

1. import java.io.BufferedReader;

2. import java.io.File;

3. import java.io.FileInputStream;

4. import java.io.FileReader;

5. import java.io.IOException;

6. import java.io.InputStream;

7. import java.io.InputStreamReader;

8. import java.io.RandomAccessFile;

9. import java.io.Reader;

10.

11. public class ReadFromFile {

12. /**

13. * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。

14. *

15. * @param fileName

16. * 文件的名

17. */

18. public static void readFileByBytes(String fileName) {

19. File file = new File(fileName);

20. InputStream in = null;

21. try {

22. System.out.println("以字节为单位读取文件内容,一次读一个字节:");

23. // 一次读一个字节

24. in = new FileInputStream(file);

25. int tempbyte;

26. while ((tempbyte = in.read()) != -1) {

27. System.out.write(tempbyte);

28. }

29. in.close();

30. } catch (IOException e) {

31. e.printStackTrace();

32. return;

33. }

34. try {

35. System.out.println("以字节为单位读取文件内容,一次读多个字节:");

36. // 一次读多个字节

37. byte[] tempbytes = new byte[100];

38. int byteread = 0;

39. in = new FileInputStream(fileName);

40. ReadFromFile.showAvailableBytes(in);

41. // 读入多个字节到字节数组中,byteread为一次读入的字节数

42. while ((byteread = in.read(tempbytes)) != -1) {

43. System.out.write(tempbytes, 0, byteread);

44. }

45. } catch (Exception e1) {

46. e1.printStackTrace();

47. } finally {

48. if (in != null) {

49. try {

50. in.close();

51. } catch (IOException e1) {

52. }

53. }

54. }

55. }

56.

57. /**

58. * 以字符为单位读取文件,常用于读文本,数字等类型的文件

59. *

60. * @param fileName

61. * 文件名

62. */

63. public static void readFileByChars(String fileName) {

64. File file = new File(fileName);

65. Reader reader = null;

66. try {

67. System.out.println("以字符为单位读取文件内容,一次读一个字节:");

68. // 一次读一个字符

69. reader = new InputStreamReader(new FileInputStream(file));

70. int tempchar;

71. while ((tempchar = reader.read()) != -1) {

72. // 对于windows下,\r\n这两个字符在一起时,表示一个换行。

73. // 但如果这两个字符分开显示时,会换两次行。

74. // 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。

75. if (((char) tempchar) != '\r') {

76. System.out.print((char) tempchar);

77. }

78. }

79. reader.close();

80. } catch (Exception e) {

81. e.printStackTrace();

82. }

83. try {

84. System.out.println("以字符为单位读取文件内容,一次读多个字节:");

85. // 一次读多个字符

86. char[] tempchars = new char[30];

87. int charread = 0;

88. reader = new InputStreamReader(new FileInputStream(fileName));

89. // 读入多个字符到字符数组中,charread为一次读取字符数

90. while ((charread = reader.read(tempchars)) != -1) {

91. // 同样屏蔽掉\r不显示

92. if ((charread == tempchars.length)

93. (tempchars[tempchars.length - 1] != '\r')) {

94. System.out.print(tempchars);

95. } else {

96. for (int i = 0; i charread; i++) {

97. if (tempchars[i] == '\r') {

98. continue;

99. } else {

100. System.out.print(tempchars[i]);

101. }

102. }

103. }

104. }

105.

106. } catch (Exception e1) {

107. e1.printStackTrace();

108. } finally {

109. if (reader != null) {

110. try {

111. reader.close();

112. } catch (IOException e1) {

113. }

114. }

115. }

116. }

117.

118. /**

119. * 以行为单位读取文件,常用于读面向行的格式化文件

120. *

121. * @param fileName

122. * 文件名

123. */

124. public static void readFileByLines(String fileName) {

125. File file = new File(fileName);

126. BufferedReader reader = null;

127. try {

128. System.out.println("以行为单位读取文件内容,一次读一整行:");

129. reader = new BufferedReader(new FileReader(file));

130. String tempString = null;

131. int line = 1;

132. // 一次读入一行,直到读入null为文件结束

133. while ((tempString = reader.readLine()) != null) {

134. // 显示行号

135. System.out.println("line " + line + ": " + tempString);

136. line++;

137. }

138. reader.close();

139. } catch (IOException e) {

140. e.printStackTrace();

141. } finally {

142. if (reader != null) {

143. try {

144. reader.close();

145. } catch (IOException e1) {

146. }

147. }

148. }

149. }

150.

151. /**

152. * 随机读取文件内容

153. *

154. * @param fileName

155. * 文件名

156. */

157. public static void readFileByRandomAccess(String fileName) {

158. RandomAccessFile randomFile = null;

159. try {

160. System.out.println("随机读取一段文件内容:");

161. // 打开一个随机访问文件流,按只读方式

162. randomFile = new RandomAccessFile(fileName, "r");

163. // 文件长度,字节数

164. long fileLength = randomFile.length();

165. // 读文件的起始位置

166. int beginIndex = (fileLength 4) ? 4 : 0;

167. // 将读文件的开始位置移到beginIndex位置。

168. randomFile.seek(beginIndex);

169. byte[] bytes = new byte[10];

170. int byteread = 0;

171. // 一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。

172. // 将一次读取的字节数赋给byteread

173. while ((byteread = randomFile.read(bytes)) != -1) {

174. System.out.write(bytes, 0, byteread);

175. }

176. } catch (IOException e) {

177. e.printStackTrace();

178. } finally {

179. if (randomFile != null) {

180. try {

181. randomFile.close();

182. } catch (IOException e1) {

183. }

184. }

185. }

186. }

187.

188. /**

189. * 显示输入流中还剩的字节数

190. *

191. * @param in

192. */

193. private static void showAvailableBytes(InputStream in) {

194. try {

195. System.out.println("当前字节输入流中的字节数为:" + in.available());

196. } catch (IOException e) {

197. e.printStackTrace();

198. }

199. }

200.

201. public static void main(String[] args) {

202. String fileName = "C:/temp/newTemp.txt";

203. ReadFromFile.readFileByBytes(fileName);

204. ReadFromFile.readFileByChars(fileName);

205. ReadFromFile.readFileByLines(fileName);

206. ReadFromFile.readFileByRandomAccess(fileName);

207. }

208. }

二、将内容追加到文件尾部

1. import java.io.FileWriter;

2. import java.io.IOException;

3. import java.io.RandomAccessFile;

4.

5. /**

6. * 将内容追加到文件尾部

7. */

8. public class AppendToFile {

9.

10. /**

11. * A方法追加文件:使用RandomAccessFile

12. * @param fileName 文件名

13. * @param content 追加的内容

14. */

15. public static void appendMethodA(String fileName, String content) {

16. try {

17. // 打开一个随机访问文件流,按读写方式

18. RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");

19. // 文件长度,字节数

20. long fileLength = randomFile.length();

21. //将写文件指针移到文件尾。

22. randomFile.seek(fileLength);

23. randomFile.writeBytes(content);

24. randomFile.close();

25. } catch (IOException e) {

26. e.printStackTrace();

27. }

28. }

29.

30. /**

31. * B方法追加文件:使用FileWriter

32. * @param fileName

33. * @param content

34. */

35. public static void appendMethodB(String fileName, String content) {

36. try {

37. //打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件

38. FileWriter writer = new FileWriter(fileName, true);

39. writer.write(content);

40. writer.close();

41. } catch (IOException e) {

42. e.printStackTrace();

43. }

44. }

45.

46. public static void main(String[] args) {

47. String fileName = "C:/temp/newTemp.txt";

48. String content = "new append!";

49. //按方法A追加文件

50. AppendToFile.appendMethodA(fileName, content);

51. AppendToFile.appendMethodA(fileName, "append end. \n");

52. //显示文件内容

53. ReadFromFile.readFileByLines(fileName);

54. //按方法B追加文件

55. AppendToFile.appendMethodB(fileName, content);

56. AppendToFile.appendMethodB(fileName, "append end. \n");

57. //显示文件内容

58. ReadFromFile.readFileByLines(fileName);

59. }

60. }

java 怎么读取配置文件代码

方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。

因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-info的目录中。文件存放位置具体在eclipse工程中的表现是:可以放在src下面,也可放在web-info及webroot下面等。因为是读取出路径后,用文件流进行读取的,所以可以读取任意的配置文件包括xml和properties。缺点:不能在servlet外面应用读取配置信息。

具体举例如下:

//ServletContext.getRealPath(name)读取路径

privatevoid test1(HttpServletRequest request, HttpServletResponseresponse)

throwsServletException,IOException {

//response.setContentType("text/html;charset=utf-8");

String path = "/WEB-INF/jdbc_connection.properties"; //读取WEB-INF中的配置文件

String realPath = getServletContext().getRealPath(path);//getServlet

怎么用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代码,文件读取 java
分享地址:http://cdiso.cn/article/hojeeg.html

其他资讯