永发信息网

java 老师用write(byte[]b)方法写的让我改成write(int b)方法怎么改有图

答案:5  悬赏:50  手机版
解决时间 2021-11-29 00:18
  • 提问者网友:
  • 2021-11-28 16:49
java 老师用write(byte[]b)方法写的让我改成write(int b)方法怎么改有图
最佳答案
  • 五星知识达人网友:玩世
  • 2021-11-28 17:24
可以直接写啊,你的s是不是int类型的?我看你的像是个字符串?追问s是字符串类型的用那个byte[]方法都写出来了int也可以吧这是代码byte[] b=s.getBytes();
try {
fos.write(b);
fos1.write(b, 0, s.length()/2);把这块改掉
就是从第一个方法换成第二个方法追答你就是想用一下write(int b)这个方法是吧,那你把byte[]里的元素转为int就行啊
byte[] b=s.getBytes();
try {
     for (int i = 0; i < b.length; i++) {
     int a = b[i];
fos.write(a);
}
}追问好了!不过好复杂老师不应该留这么复杂给我啊有没有简单点的
全部回答
  • 1楼网友:从此江山别
  • 2021-11-28 22:00
是修改方法,你写的方法那?追问第二张图是byte数组方法写的第三张要改成int方法write(int b)改成这种
  • 2楼网友:舍身薄凉客
  • 2021-11-28 20:54
public static void main(String[] args) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(new File("D:/test.txt"));
fos = new FileOutputStream(new File("D:/testCopy.txt"),true);
byte[] b = new byte[1024];
int len = 0;
while ((len = fis.read()) != -1) {
fos.write(len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fos.close();
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//望采纳,谢谢。追问byte[] b=s.getBytes();

try

{

for(int i=0;i
{

fos.write(b[i]);

}

for(int i=0;i
{

fos1.write(b[i]);

}

}catch(IOException e)发错了这是原来的代码

要从第一种方法改成第二种方法追答int len = 0;
while ((len = fis.read()) != -1) {
fos.write(len);
}
就是你的要求那么写的啊追问◑▂◑可是要传的是个字符串啊用这个int的怎么把字符串类型传进去……追答你什么意思?你是指要写进文件的是字符串,传一个int进去为什么行,你是这意思吗?你可以先运行一下我的代码,看看效果
  • 3楼网友:孤老序
  • 2021-11-28 19:42
for(byte bi: b){
    fos.write(bi);
}

 他原来只写了一半的长度, 那你在for里面限制下:

for(int i = 0;i < b.length/2;i++){

    fos.write(b[i]);

}

  • 4楼网友:封刀令
  • 2021-11-28 18:31
byte[] b=s.getBytes();

try

{

for(int i=0;i
{

fos.write(b[i]);

}

for(int i=0;i
{

fos1.write(b[i]);

}

}catch(IOException e)追问你这还是byt[]方法啊……

要从第一种方法改成第二种方法啊追答fos.write(b[i]); ---> 这不是byte[] ---> fos.write(b);这种才是byte[]
你还是不理解的话,就把fos.write(b[i]); 改写成
int a=(int)b[i];
fos.write(a);
这样就很明显了追问Ծ ̮ Ծ我还在学习不太懂这个不要了弄好了咦好像你这个是对的不好意思我不太懂这个还在学(。ì _ í。)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯