问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

看了mars老师的java视频,关于io的输入输出遇到问题了,请高手指点指点

发布网友 发布时间:2022-04-30 07:47

我来回答

3个回答

热心网友 时间:2023-10-21 09:59

《mars java开发视频》百度网盘资源免费下载

链接:https://pan.baidu.com/s/1TPuFFAQ7y11SlUXkw-LviQ

提取码:6eug
mars java开发视频|Java当中的异常(一).mp4|Java4Android_01_ppt.png|53.mp4|52_定义输入输出格式.mp4|51_综合练习(二).mp4|50_综合练习(一).mp4|49_开发工具之Eclipse(四).mp4|48_开发工具之Eclipse(三).mp4|47_开发工具之Eclipse(二).mp4|46_开发工具之Eclipse(一).mp4|45_hashCode()与toString().mp4|44_equals函数的作用.mp4|43_类集框架(三).mp4|42_类集框架(二).mp4    

热心网友 时间:2023-10-21 09:59

错误在于输入流两次去读取了数据:
fis.read(buffer,0,buffer.length);

int temp = fis.read(buffer,0,buffer.length);//生成一个temp变量用来接收读取量,在写入时方便使用。

第一次已经读完了,所以第二次再去读取的时候,就没有了,那么temp=-1 ,不相信你可以打印下。自然而然会报IndexOutOfBoundsException。
修改方法:去掉:
fis.read(buffer,0,buffer.length);
这句代码。

以下提供可运行的代码:

import java.io.FileInputStream;
import java.io.FileOutputStream;
class Test {
public static void main(String args[]) {
FileInputStream fis = null; // 声明输入流的引用。
FileOutputStream fos = null;// 声明输出流的引用。
try {
fis = new FileInputStream("e:/from.txt");// 生成代表输入流的对象。
byte[] buffer = new byte[100]; // 生成一个字节数组。
//fis.read(buffer, 0, buffer.length);
/*
* 调用输入流的read方法并设置参数,读取数据
*
* buffer.length是调用buffer的长度用以设置读取量
* 。
*/
fos = new FileOutputStream("e:/to.txt");// 生成输出流的对象。
int temp = fis.read(buffer, 0, buffer.length);// 生成一个temp变量用来接收读取量,在写入时方便使用。
fos.write(buffer,0, temp);// 调用输出流方法write并设置参数用以输出写入。temp起到作用(读取多少就写入多少)。
/*
* for(int i =0; i<buffer.length; i++){ //打印出buffer里的数据,结果为①
*
* System.out.println(buffer[i]);
*
* }
*/
}
catch (Exception e) {
//e.printStackTrace();
System.out.println(e);
}
}
}

热心网友 时间:2023-10-21 10:00

int temp = fis.read(buffer,0,buffer.length);//生成一个temp变量用来接收读取量,在写入时方便使用。
好像是这句出问题了
indexoutofboundsException 越界
就是超出int的最大范围了追问把注释全删了,还是不行,错误提示还是一样的,

追答int temp 改成long temp 试试

热心网友 时间:2023-10-21 09:59

《mars java开发视频》百度网盘资源免费下载

链接:https://pan.baidu.com/s/1TPuFFAQ7y11SlUXkw-LviQ

提取码:6eug
mars java开发视频|Java当中的异常(一).mp4|Java4Android_01_ppt.png|53.mp4|52_定义输入输出格式.mp4|51_综合练习(二).mp4|50_综合练习(一).mp4|49_开发工具之Eclipse(四).mp4|48_开发工具之Eclipse(三).mp4|47_开发工具之Eclipse(二).mp4|46_开发工具之Eclipse(一).mp4|45_hashCode()与toString().mp4|44_equals函数的作用.mp4|43_类集框架(三).mp4|42_类集框架(二).mp4    

热心网友 时间:2023-10-21 09:59

错误在于输入流两次去读取了数据:
fis.read(buffer,0,buffer.length);

int temp = fis.read(buffer,0,buffer.length);//生成一个temp变量用来接收读取量,在写入时方便使用。

第一次已经读完了,所以第二次再去读取的时候,就没有了,那么temp=-1 ,不相信你可以打印下。自然而然会报IndexOutOfBoundsException。
修改方法:去掉:
fis.read(buffer,0,buffer.length);
这句代码。

以下提供可运行的代码:

import java.io.FileInputStream;
import java.io.FileOutputStream;
class Test {
public static void main(String args[]) {
FileInputStream fis = null; // 声明输入流的引用。
FileOutputStream fos = null;// 声明输出流的引用。
try {
fis = new FileInputStream("e:/from.txt");// 生成代表输入流的对象。
byte[] buffer = new byte[100]; // 生成一个字节数组。
//fis.read(buffer, 0, buffer.length);
/*
* 调用输入流的read方法并设置参数,读取数据
*
* buffer.length是调用buffer的长度用以设置读取量
* 。
*/
fos = new FileOutputStream("e:/to.txt");// 生成输出流的对象。
int temp = fis.read(buffer, 0, buffer.length);// 生成一个temp变量用来接收读取量,在写入时方便使用。
fos.write(buffer,0, temp);// 调用输出流方法write并设置参数用以输出写入。temp起到作用(读取多少就写入多少)。
/*
* for(int i =0; i<buffer.length; i++){ //打印出buffer里的数据,结果为①
*
* System.out.println(buffer[i]);
*
* }
*/
}
catch (Exception e) {
//e.printStackTrace();
System.out.println(e);
}
}
}

热心网友 时间:2023-10-21 10:00

int temp = fis.read(buffer,0,buffer.length);//生成一个temp变量用来接收读取量,在写入时方便使用。
好像是这句出问题了
indexoutofboundsException 越界
就是超出int的最大范围了追问把注释全删了,还是不行,错误提示还是一样的,

追答int temp 改成long temp 试试

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... l淋巴结核炎怎么治应该吃什么药 淋巴结核吃中药好还是西药好? 万用表IO什么意思 淋巴结核抗结核治疗吃什么药效果比较好? 淋巴结核吃什么药效果好? 你好,我患淋巴结核,建议吃药什么药好? 淋巴结核吃什么药恢复的快些? 治疗淋巴结核吃这些药物可以痊愈吗? 淋巴结核用什么药 效果比较好 淋巴结核吃什么药最见效、在那里治疗的最好? 淋巴结核吃什么药最好 淋巴结核吃什么药? x公司2007年度未审利润及2006年度已审利润如下表所示 现金流量表要怎么做,多久做一次 请问管理费用检查情况表和财务费用检查情况表是怎么填的? 贸易保护理论的非经济依据有哪些 财务定岗实习周记 麻烦,我是小规模企业想求一套完整的成本核算表格(带公式的EXCEL), 李斯特的保护贸易学说有什么特点?求解!!谢谢 审计工作底稿的明细表编制需要注意些什么,用电子帐怎么做? 高医师你好,淋巴结核吃什么药治疗效果好,谢谢 什么是高考? 用什么药最好淋巴结核 高考是什么意思? 淋巴结核吃什么药最好, 男。 2岁拜托各位了 3Q 什么叫高考? 车子脱保一年车船税要不要补 车辆因转让改变用途等原因,车船税需补缴吗? 高考的全称是什么? 高考是什么呢? 高考的全称是什么 今年年审通过,去年车船税需要补缴吗? 高中的高考是什么? 什么是普通高考 2019年的保险2020年买需要补交车船税吗? 高考是什么,为什么要高考!!! 小车两个周期没有年检了,车船税要补交吗 高考到底是什么? 怎么和女孩子说话聊天 有谁知道迅捷路由器,是怎么设置的,谢谢!