我试图将两个数组和一个整数从另一个方法引入到写入文件的方法中。我试着用论据来解释,但没有用。希望你能帮忙
这是我如何传递参数从方法持有arry信息。
write (NameX, ScoresArray, players); /
此方法旨在使用传递的数组参数创建文件。
public static void write (String NameX [], int ScoresArray [], int players ) throws IOException
{
PrintWriter outputStream = new PrintWriter(new FileWriter("Genius.txt"));
outputStream.println(players);
for (int i = 0; i < NameX.length; i++)
{
outputStream.println(NameX[i] + ScoresArray [i] );
}
outputStream.close();
}
这是读取文件的方法
public static void reads () throws IOException
{
BufferedReader inStream = new BufferedReader(new FileReader("Genius.txt"));
// Read in first file entry as an integer - the number of names stored
int players = Integer.parseInt(inStream.readLine());
System.out.println(players);
// Create an array big enough
String [] NameX = new String[players];
String [] ScoresArray = new String[players];
// Now read in the names
for (int i = 0; i < NameX.length; i++)
{
NameX[i] = inStream.readLine();
ScoresArray[i] = inStream.readLine();
System.out.println(NameX[i]);
System.out.println(ScoresArray[i]);
}
inStream.close();
}
请你能告诉我哪里出了问题,我如何创建一个文件,保存数组并稍后读取文件。
*************编辑代码********************
write(NameX,ScoresArray,players);
reads();
}
}//end of league table
public static void write (String NameX [], int ScoresArray [], int players ) throws IOException
{
PrintWriter outputStream = new PrintWriter(new FileWriter("Genius.txt"));
outputStream.println(players);
for (int i = 0; i < NameX.length; i++)
{
outputStream.println(NameX[i] +":"+ ScoresArray [i] );
}
outputStream.close();
}公共静态无效读取()抛出IOExcense{BufferedReader inStream=new BufferedReader(new FileReader("Genius.txt"));
// Read in first file entry as an integer - the number of names stored
int players = Integer.parseInt(inStream.readLine());
System.out.println(players);
// Create an array big enough
String [] NameX = new String[players];
String [] ScoresArray = new String[players];
// Now read in the names
for (int i = 0; i < NameX.length; i++)
{
String str = inStream.readLine();
String vals[] = str.split(":");
System.out.println(vals[0]+" "+vals[1]);
}
inStream.close();
}
我还是有同样的问题
也许您可以尝试使用java.lang.异常,而不是IOExcture,使用异常应该涵盖可能引发的所有类型的异常。
public static void write (String NameX [], int ScoresArray [], int players ) throws Exception
{
PrintWriter outputStream = new PrintWriter(new FileWriter("Genius.txt"));
outputStream.println(players);
for (int i = 0; i < NameX.length; i++){
outputStream.println(NameX[i] + ScoresArray [i] );
}
outputStream.close();
}
然后使用:
try {
write (NameX, ScoresArray, players); //
}catch(IOException io){
//Handle an IO exception
}catch(Exception e){
//Handle Exception
}
恐怕我还没有时间来测试这个。
好吧,我希望你正在寻找这个:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package test;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
/**
*
* @author manoj.sharma
*/
public class Test {
/**
* @param args the command line arguments
*/
public static void write (String NameX [], int ScoresArray [], int players ) throws IOException
{
PrintWriter outputStream = new PrintWriter(new FileWriter("Genius.txt"));
outputStream.println(players);
for (int i = 0; i < NameX.length; i++)
{
outputStream.println(NameX[i] +":"+ ScoresArray [i] );
}
outputStream.close();
}
public static void reads () throws IOException
{
BufferedReader inStream = new BufferedReader(new FileReader("Genius.txt"));
// Read in first file entry as an integer - the number of names stored
int players = Integer.parseInt(inStream.readLine());
System.out.println(players);
// Create an array big enough
String [] NameX = new String[players];
String [] ScoresArray = new String[players];
// Now read in the names
for (int i = 0; i < NameX.length; i++)
{
String str = inStream.readLine();
String vals[] = str.split(":");
System.out.println(vals[0]+" "+vals[1]);
}
inStream.close();
}
public static void main(String[] args) {
String [] names={"manoj","kushal"};
int [] scores = {10,20};
int p = 2;
try{
write(names,scores,p);
reads();
} catch(IOException e){System.out.println(e.getMessage());}
}
}
我希望你已经找到了解决办法。
IOException是一个选中的异常,你的函数write(NameX,ScoresArray,players)
是抛出的
IOException
。所以你应该及时处理。
try {
write (NameX, ScoresArray, players); //
}catch(IOException ie){
// do operation
}
有关更多详细信息,请参阅:教训:异常
说明如下: 要处理事务,您需要从transactions.txt文件中一次读取一行,并解析检索到的字符串。您可以为此使用Scanner类。分隔符将是冒号。然后处理交易;您不需要检查交易类型。只需将交易金额添加到支票簿余额中即可。增加一个负交易金额会像预期的那样减少余额。确保在适当的地方使用try/catch块。 处理完每个事务后,调用animate方法。此方法属于Accounting类,因此您将在
本小节将会介绍基本输入输出的 Java 标准类,通过本小节的学习,你将了解到什么是输入和输入,什么是流;输入输出流的应用场景,File类的使用,什么是文件,Java 提供的输入输出流相关 API 等内容。 1. 什么是输入和输出(I / O) 1.1 基本概念 输入/输出这个概念,对于计算机相关专业的同学并不陌生,在计算中,输入/输出(Input / Output,缩写为 I / O)是信息处理系
我想知道为什么Java程序在运行时只从命令行获取字符串形式的参数?我读过,如果参数声明为int,它仍然将int转换为字符串。为什么会出现这种情况?并且在运行java程序时,有没有办法只从命令行接受int值呢?
文件 std::fs::File 本身实现了 Read 和 Write trait,所以文件的输入输出非常简单,只要得到一个 File 类型实例就可以调用读写接口进行文件输入与输出操作了。而要得到 File 就得让操作系统打开(open)或新建(create)一个文件。还是拿例子来说明 use std::io; use std::io::prelude::*; use std::fs::File;
回顾一下我们写的第一个 Rust 程序就是带副作用的,其副作用就是向标准输出(stdout),通常是终端或屏幕,输出了 Hello, World! 让屏幕上这几个字符的地方点亮起来。println! 宏是最常见的输出,用宏来做输出的还有 print!,两者都是向标准输出(stdout)输出,两者的区别也一眼就能看出。至于格式化输出,基础运算符和字符串格式化小节有详细说明,这里就不再啰嗦了。 更通用
我正在创建一个Cloudwatch事件规则,如果步骤函数进入故障或超时状态,它应该会触发lambda。云观察事件规则将参数传递给lambda,这将发送一封自定义的SNS电子邮件。我正在尝试将输入参数的值从我在云形成模板中设置的参数传递到Cloudwatch事件规则中。我无法让Cloudform将参数值提取出来,将它们放入Cloudwatch事件规则输入参数中。CF接受我在JSON中给出的文字值并将