`

Java Socket传输数据的文件系统介绍

 
阅读更多

Java Socket传输数据的文件系统介绍

Java Socket传输数据在进行的时候有很多的事情需要我们不断的进行有关代码的学习。只有不断的学习才能掌握相关的问题。下面我们就详细的看看如何才能更好的使用这些技术。

我们将这个对象串行化至文件系统,然后将之还原,JavaSocket传输数据在这个过程其实类似于一个“压扁”和“充气”的过程,请注意,我们的Person类中包含一个嵌入对象,并且birthday变化,将之设置为transient限定符,这表示我们放弃了birthday的串行化;

Java代码

  1. packagestream.demo;
  2. importjava.io.ByteArrayInputStream;
  3. importjava.io.ByteArrayOutputStream;
  4. importjava.io.File;
  5. importjava.io.FileInputStream;
  6. importjava.io.FileOutputStream;
  7. importjava.io.IOException;
  8. importjava.io.InputStream;
  9. importjava.io.ObjectInputStream;
  10. importjava.io.ObjectOutputStream;
  11. importjava.io.OutputStream;
  12. importjava.util.Date;
  13. publicclassPersistence{
  14. publicstaticvoidmain(String[]args){
  15. Persistence.savePerson();
  16. Persistence.getPerson();
  17. }
  18. publicstaticvoidgetPerson(){
  19. try{
  20. InputStreamin=newFileInputStream("c:\\person.dat");
  21. ObjectInputStreamdataInput=newObjectInputStream(in);
  22. Personp=(Person)dataInput.readObject();
  23. System.out.println(p.getName());
  24. System.out.println(p.getTall());
  25. System.out.println(p.getBirthday());
  26. System.out.println(p.getAddress().getCity());
  27. System.out.println(p.getAddress().getStreet());
  28. }catch(Exceptione){
  29. //TODOAuto-generatedcatchblock
  30. e.printStackTrace();
  31. }
  32. }
  33. publicstaticvoidsavePerson(){
  34. Personp=newPerson();
  35. p.setName("corey");
  36. p.setTall(171);
  37. p.setBirthday(newDate());
  38. p.setAddress(newAddress("yiyang","ziyang"));
  39. OutputStreamout=newByteArrayOutputStream();
  40. try{
  41. OutputStreamfileOut=newFileOutputStream(newFile(
  42. "c:\\person.dat"));
  43. ObjectOutputStreamdataOut=newObjectOutputStream(fileOut);
  44. dataOut.writeObject(p);
  45. dataOut.close();
  46. fileOut.close();
  47. }catch(IOExceptione){
  48. //TODOAuto-generatedcatchblock
  49. e.printStackTrace();
  50. }
  51. }
  52. }
  53. packagestream.demo;
  54. importjava.io.ByteArrayInputStream;
  55. importjava.io.ByteArrayOutputStream;
  56. importjava.io.File;
  57. importjava.io.FileInputStream;
  58. importjava.io.FileOutputStream;
  59. importjava.io.IOException;
  60. importjava.io.InputStream;
  61. importjava.io.ObjectInputStream;
  62. importjava.io.ObjectOutputStream;
  63. importjava.io.OutputStream;
  64. importjava.util.Date;
  65. publicclassPersistence{
  66. publicstaticvoidmain(String[]args){
  67. Persistence.savePerson();
  68. Persistence.getPerson();
  69. }
  70. publicstaticvoidgetPerson(){
  71. try{
  72. InputStreamin=newFileInputStream("c:\\person.dat");
  73. ObjectInputStreamdataInput=newObjectInputStream(in);
  74. Personp=(Person)dataInput.readObject();
  75. System.out.println(p.getName());
  76. System.out.println(p.getTall());
  77. System.out.println(p.getBirthday());
  78. System.out.println(p.getAddress().getCity());
  79. System.out.println(p.getAddress().getStreet());
  80. }catch(Exceptione){
  81. //TODOAuto-generatedcatchblock
  82. e.printStackTrace();
  83. }
  84. }
  85. publicstaticvoidsavePerson(){
  86. Personp=newPerson();
  87. p.setName("corey");
  88. p.setTall(171);
  89. p.setBirthday(newDate());
  90. p.setAddress(newAddress("yiyang","ziyang"));
  91. OutputStreamout=newByteArrayOutputStream();
  92. try{
  93. OutputStreamfileOut=newFileOutputStream(newFile(
  94. "c:\\person.dat"));
  95. ObjectOutputStreamdataOut=newObjectOutputStream(fileOut);
  96. dataOut.writeObject(p);
  97. dataOut.close();
  98. fileOut.close();
  99. }catch(IOExceptione){
  100. //TODOAuto-generatedcatchblock
  101. e.printStackTrace();
  102. }
  103. }
  104. }

以上就是对Java Socket传输数据的详细介绍,希望大家有所收获。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics