기본 콘텐츠로 건너뛰기

Java Scanner & PrintWriter & InputStream & OutputStream

When using both PrintWriter & Scanner, and InputStream & OutputStream on the same socket, odd thing happens.
When call InputStream.read() after call Scanner.nextLong(), InputStream.read() can't receive data exactly. It seems Scanner caches the input.
The solution is send and receive something before call InputStream.read(). Sequence is important like send/receive/send/receive, not like send/send/receive/receive

for client:
    Scanner.nextLong()
    PrintWirter.println()
    InputStream.read()


for server
  PrintWriter.println()
  Scanner.nextLine()
  OutputStream.write()



댓글

이 블로그의 인기 게시물

install parse-server & parse-dashboard at CentOS 7

yum install epel-release -y yum update -y shutdown -r now install mongodb https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/#configure-the-package-management-system-yum semanage port -a -t mongod_port_t -p tcp 27017 curl --silent --location https://rpm.nodesource.com/setup_9.x | sudo bash - yum install git -y git clone https://github.com/ParsePlatform/parse-server.git sudo npm install -g parse-server mongodb-runner * install parse-server-example https://github.com/parse-community/parse-server-example.git * install parse-dashboard https://github.com/parse-community/parse-dashboard.git firewall-cmd --permanent --zone=public --add-port=4040/tcp semanage port -a -t mongod_port_t -p tcp 4040 parse-dashboard --config parse-dashboard-config.json --allowInsecureHTTP

upgrade gitlab 5.0.1 to 7.10.4 on CentOS 6

1. backup     sudo gitlab-rake gitlab:backup:create      https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/backup_restore.md     copy /var/opt/gitlab/backups/xxxxx_gitlab_backup.tar to temp directory 2. delete completely      sudo gitlab-ctl stop      sudo gitlab-ctl uninstall      sudo gitlab-ctl cleanse      sudo gitlab-ctl remove-accounts     https://forum.gitlab.com/t/complete-uninstall-gitlab-ce-from-ubuntu-14/6232 3. download gitlab-ce-7.10.4~omnibus.1-1.x86_64.rpm      https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/6/gitlab-ce-7.10.4~omnibus.1-1.x86_64.rpm 4. install     sudo EXTERNAL_URL="http://gitlab.example.com" rpm -i gitlab-ce-7.10.4~omnibus.1-1.x86_64.rpm      https://docs.gitlab.com/omnibus/manual_install.html 5. edit /etc/gitlab/gitlab.rb     external_url   6....