91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.78MB
    文件類型: .bz2
    金幣: 1
    下載: 1 次
    發(fā)布日期: 2023-11-15
  • 語言: Java
  • 標(biāo)簽: protobuf??

資源簡介

protocolbuffer 以下簡稱PB 是google 的一種數(shù)據(jù)交換的格式 它獨(dú)立于語言 獨(dú)立于平臺 google 提供了三種語言的實現(xiàn):java c++ 和 python

資源截圖

代碼片段和文件信息

//?See?README.txt?for?information?and?build?instructions.

import?com.example.tutorial.AddressBookProtos.AddressBook;
import?com.example.tutorial.AddressBookProtos.Person;
import?java.io.BufferedReader;
import?java.io.FileInputStream;
import?java.io.FileNotFoundException;
import?java.io.FileOutputStream;
import?java.io.InputStreamReader;
import?java.io.IOException;
import?java.io.PrintStream;

class?AddPerson?{
??//?This?function?fills?in?a?Person?message?based?on?user?input.
??static?Person?PromptForAddress(BufferedReader?stdin
?????????????????????????????????PrintStream?stdout)?throws?IOException?{
????Person.Builder?person?=?Person.newBuilder();

????stdout.print(“Enter?person?ID:?“);
????person.setId(Integer.valueOf(stdin.readLine()));

????stdout.print(“Enter?name:?“);
????person.setName(stdin.readLine());

????stdout.print(“Enter?email?address?(blank?for?none):?“);
????String?email?=?stdin.readLine();
????if?(email.length()?>?0)?{
??????person.setEmail(email);
????}

????while?(true)?{
??????stdout.print(“Enter?a?phone?number?(or?leave?blank?to?finish):?“);
??????String?number?=?stdin.readLine();
??????if?(number.length()?==?0)?{
????????break;
??????}

??????Person.PhoneNumber.Builder?phoneNumber?=
????????Person.PhoneNumber.newBuilder().setNumber(number);

??????stdout.print(“Is?this?a?mobile?home?or?work?phone??“);
??????String?type?=?stdin.readLine();
??????if?(type.equals(“mobile“))?{
????????phoneNumber.setType(Person.PhoneType.MOBILE);
??????}?else?if?(type.equals(“home“))?{
????????phoneNumber.setType(Person.PhoneType.HOME);
??????}?else?if?(type.equals(“work“))?{
????????phoneNumber.setType(Person.PhoneType.WORK);
??????}?else?{
????????stdout.println(“Unknown?phone?type.??Using?default.“);
??????}

??????person.addPhone(phoneNumber);
????}

????return?person.build();
??}

??//?Main?function:??Reads?the?entire?address?book?from?a?file
??//???adds?one?person?based?on?user?input?then?writes?it?back?out?to?the?same
??//???file.
??public?static?void?main(String[]?args)?throws?Exception?{
????if?(args.length?!=?1)?{
??????System.err.println(“Usage:??AddPerson?ADDRESS_BOOK_FILE“);
??????System.exit(-1);
????}

????AddressBook.Builder?addressBook?=?AddressBook.newBuilder();

????//?Read?the?existing?address?book.
????try?{
??????FileInputStream?input?=?new?FileInputStream(args[0]);
??????try?{
????????addressBook.mergeFrom(input);
??????}?finally?{
????????try?{?input.close();?}?catch?(Throwable?ignore)?{}
??????}
????}?catch?(FileNotFoundException?e)?{
??????System.out.println(args[0]?+?“:?File?not?found.??Creating?a?new?file.“);
????}

????//?Add?an?address.
????addressBook.addPerson(
??????PromptForAddress(new?BufferedReader(new?InputStreamReader(System.in))
???????????????????????System.out));

????//?Write?the?new?address?book?back?to?disk.
????FileOutputStream?output?=?new?FileOutputStream(args[0]);
????try?{
??????addressBook.build().writeTo(output);
????}?finally?{
??????output.close();
????}
??}
}

評論

共有 條評論