用输入输出流开启连接,添加参数,然后获取参数值 + 向一个文件中写入内容 + 从文件中读出内容 + 从缓冲读入流中读取内容然后处理...

 

/**
 - 用输入输出流开启连接,添加参数,然后获取参数值
 - 向一个文件中写入内容
 - 从文件中读出内容
 - 从缓冲读入流中读取内容然后处理
*/
//用输入输出流开启连接,添加参数,然后获取参数值 

 

 URL url = new URL(fileDownloadPath);
	URLConnection connection = url.openConnection();
	connection.setDoOutput(true);
	
	PrintWriter outStream = new PrintWriter(connection.getOutputStream());
	outStream.print("username=" + username);//hkaws_file_download
	outStream.print("&password=" + password);//12345678
	outStream.print("&xml=" + xml); //<?xml version="1.0" encoding="UTF-8" ?>
		
	outStream.print("&source=" + PrintInfo.SOURCE_WEB);//WEB
	outStream.print("&token=" + token);//0
	outStream.print("&queue_category=" + queueCategory); // LABEL
	outStream.print("&agent_code=" + agentCode);//300693
	outStream.close();
	InputStream in = connection.getInputStream(); ==> jump to print_label_now.jsp

String newUsername = request.getParameter("username");
    String newPassword = request.getParameter("password");
    String source = request.getParameter("source");
    String token = request.getParameter("token");
    String xml = request.getParameter("xml");
    String queueCategory = request.getParameter("queue_category");
    String agentCode = request.getParameter("agent_code");
    if (agentCode == null && xml != null && !"".equals(xml)) {
        agentCode = getValueByAttribute(xml, "agent_code");
    }

--------------------------------
//向一个文件中写入内容
 public void generateFeed() throws IOException{
		ArrayList result = generateLines();
		FileWriter writer = new FileWriter(filePath,false);
		PrintWriter pw = new PrintWriter(writer);
		for (int i=0;i<result.size();i++){
			String line = (String)result.get(i);
			pw.println(line);
			//dos.writeChars(line);
		}
		pw.close();
		writer.close();
	}
	//向一个文件中写入内容
	FileOutputStream out = new FileOutputStream(logFileName);
  PrintWriter log = new PrintWriter(out);
  String line = "";
  String errMsg = "";
	log.write((new Date()).toString() + " ERROR in uploading report(" + reportUploaderVO.getFileName() 
                         + ", AgentCode : " + reportUploaderVO.getAgentCode() + ")\n");
  log.write((new Date()).toString() + " " + errMsg);
  log.close();
  //写入对象到一个文件
ObjectOutputStream feed = new ObjectOutputStream(new FileOutputStream(noteFile));
                  feed.writeObject(paReports);
                  feed.close();
        
  //从一个文件中读出对象
String feedFileName = args[0];
String logFileName = args[1];
ObjectInputStream in = new ObjectInputStream(new FileInputStream(feedFileName));
ArrayList arrayList = (ArrayList)in.readObject();
File file = new File(logFileName);
if (file.exists()){
    file.delete();
}

sql.delete(0, sql.length());
----------------------------------------------------

BufferedReader br = new BufferedReader(new FileReader(agentFeedPath));
 while ((line = br.readLine()) != null){
   if (line.startsWith("HEADER") || line.startsWith("TRAILER"))
      continue;
	  agentCode = line.substring(0, 6).trim();
	  agent = new AgentIdentification();
	  agent.setAgentCode(agentCode);
	  agent.setAgentName(line.substring(6, 36).trim());
	  agent.setUnitCode(line.substring(36, 41).trim());
	  agent.setBranchCode(line.substring(41, 46).trim());
	  agent.setBranchHead(line.substring(46, 76).trim());
	  agent.setBranchName(line.substring(76, 106).trim());
	  agent.setAgentEmail(line.substring(106, 166).trim());
	  if (cond == BY_AGENT){
	      agentTable.put(agentCode, agent);
	  }
   branch = (AgentIdentification)agentTable.get(agent.getBranchCode());
}

 

### 回答1: 可以使用Java的`BufferedReader`和`BufferedWriter`类来实现文件读取写入。具体实现步骤如下: 1. 创建`BufferedReader`对象,用于读取原始文件内容。 2. 创建`BufferedWriter`对象,用于向目标文件写入行号和对应的文本内容。 3. 使用`BufferedReader`的`readLine()`方法逐行读取原始文件内容,并在每一行前面添加行号。 4. 将带有行号的文本内容写入目标文件,使用`BufferedWriter`的`write()`方法。 5. 关闭`BufferedReader`和`BufferedWriter`对象,释放资源。 以下是示例代码: ```java import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class FileLineNumbers { public static void main(String[] args) { String inputFile = "input.txt"; String outputFile = "output.txt"; try (BufferedReader reader = new BufferedReader(new FileReader(inputFile)); BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile))) { int lineNumber = 1; String line; while ((line = reader.readLine()) != null) { writer.write(lineNumber + ". " + line); writer.newLine(); lineNumber++; } System.out.println("File written successfully!"); } catch (IOException e) { System.out.println("Error reading/writing file: " + e.getMessage()); } } } ``` 以上代码将会读取名为`input.txt`的文本文件,并按行号顺序将其内容写入名为`output.txt`的文件。 ### 回答2: 使用Java的输入输出流可以轻松地实现将一个文本文件内容按行读取添加行号后写入一个文件的功能。以下是实现这个过程的示例代码: ```java import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class FileReaderWriterExample { public static void main(String[] args) { String inputFilePath = "input.txt"; // 输入文件路径 String outputFilePath = "output.txt"; // 输出文件路径 try { // 创建输入流对象 FileReader fileReader = new FileReader(inputFilePath); BufferedReader bufferedReader = new BufferedReader(fileReader); // 创建输出流对象 FileWriter fileWriter = new FileWriter(outputFilePath); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); String line; int lineNumber = 1; // 逐行读取输入文件内容写入到输出文件 while ((line = bufferedReader.readLine()) != null) { String lineWithNumber = lineNumber + ". " + line; // 添加行号 bufferedWriter.write(lineWithNumber); bufferedWriter.newLine(); // 写入一个换行符 lineNumber++; } // 关闭输入输出流 bufferedReader.close(); bufferedWriter.close(); System.out.println("文件内容按行读取添加行号后已成功写入到输出文件!"); } catch (IOException e) { e.printStackTrace(); } } } ``` 在上述代码,我们使用了`FileReader`和`BufferedReader`来逐行读取输入文件内容,`FileWriter`和`BufferedWriter`用于写入带有行号的内容到输出文件。通过循环读取输入文件的每一行内容添加行号后,将结果写入到输出文件。最后,关闭输入输出流并在控制台输出成功信息。 需要注意的是,上述代码设定的输入和输出文件路径是相对路径,可以根据实际需求进行修改。 ### 回答3: 使用Java的输入输出流,可以按照以下步骤将一个文本文件内容按行读出,并且在读出的同时,顺序添加行号,最后将结果写入一个文件。 1. 创建一个输入流对象,用于读取文件。可以使用FileInputStream等类来实现。 2. 创建一个输出流对象,用于写入目标文件。可以使用FileOutputStream等类来实现。 3. 使用循环结构,逐行读取文件内容。 4. 在读取每一行的内容之后,为该行添加行号。可以使用一个计数器变量,每次读取一行时,计数器加1,得到行号。 5. 将带有行号的内容写入目标文件。可以使用输出流对象的write()或者print()等方法来实现。 6. 关闭输入流和输出流,释放资源。 以下是一个使用Java的输入输出流实现将文本文件内容按行读取添加行号的示例代码: ``` import java.io.*; public class FileIOExample { public static void main(String[] args) { String sourceFilePath = "source.txt"; // 源文件的路径 String targetFilePath = "target.txt"; // 目标文件的路径 try { BufferedReader reader = new BufferedReader(new FileReader(sourceFilePath)); BufferedWriter writer = new BufferedWriter(new FileWriter(targetFilePath)); String line; int lineNumber = 1; while ((line = reader.readLine()) != null) { String lineWithNumber = lineNumber + ": " + line; writer.write(lineWithNumber); writer.newLine(); lineNumber++; } reader.close(); writer.close(); System.out.println("文件处理成功!"); } catch (IOException e) { System.out.println("文件处理出错: " + e.getMessage()); } } } ``` 以上代码,通过创建一个BufferedReader对象来逐行读取文件内容,使用BufferedWriter对象将带有行号的内容写入目标文件。通过使用FileReader和FileWriter来实现输入输出流的功能。最后,关闭输入流和输出流,释放资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值