请解释Byte流和字符流是什么.这究竟是什么意思?Microsoft Word文档是面向字节还是面向字符?
谢谢
这是一个代码
import java.io.*;
import java.net.*;
public class Whois
{
public static void main(String[] args)
throws Exception
{
// TODO Auto-generated method stub
int c;
Socket s = new Socket("whois.internic.net",43);
*InputStream in = s.getInputStream();
*OutputStream out = s.getOutputStream();
String str = (args.length == 0 ? "osborne.com" : args[0] ) + "\n";
byte buf[] = str.getBytes();
*out.write(buf);
System.out.print("hey baby");
while ((c=in.read()) != -1)
{
System.out.print((char) c);
}
s.close();
}
}
Run Code Online (Sandbox Code Playgroud)
我有显着的,我有问题的理解.我不明白的OutputStream对象的语句out时,它被分配将持有s.getOutputStream()的,什么是合格的需要buf来out通过out.write(buf).
我已经学习了输入和输出Streams使用文件,但我不明白 …
我已经打包我的jar文件内的exe文件,我试图将其复制到一个临时位置,这样我可以使用运行它Desktop.browse(),要做到这一点,我设置了输入流构造扫描仪使用class.getResourceAsStream,然后用printwriter写的,所有的到一个文件.发生的问题表明exe无效.我认为这是由于一些二进制数据丢失.如果有人可以提供帮助,请发表评论.
Scanner sc = new Scanner(ClassBuilder.class.getResourceAsStream("jd-gui.exe"));
File copy = new File("C://users//Owner//Desktop//java//jd-gui.exe");
copy.createNewFile();
PrintWriter writer = new PrintWriter(copy);
while(sc.hasNextLine())
writer.println(sc.nextLine());
writer.flush();
writer.close();
sc.close();
Desktop.getDesktop().browse(copy.toURI());
Run Code Online (Sandbox Code Playgroud)