質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

3158閲覧

Androd Studioでサーバーに上げたtxtファイルをURL指定して読み込みたいです。

mononobe

総合スコア21

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2016/10/25 07:47

Androd Studioでサーバーに上げたtxtファイルの中身の数字データをURL指定して読み込みたいです。
自分でも調べてみたのですがtxtファイルの参照まではできるのですが、読み込みができません。
ご教授よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

txtファイルを参照できるとはHttpUrlConnectionを使って取得したということですか?
それならストリームをファイルとして保存するか、文字列に変換するだけですね。

投稿2016/10/25 08:01

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mononobe

2016/10/28 02:44

http://fantom1x.blog130.fc2.com/blog-entry-126.html#httpdl 上記リンクの下部分のところを使用したのですが、うまくいきません。 //URL経由でWebサーバ上(http)のテキストファイルを読み込む(Android, Applet, 汎用) //(ex) String httpUrl = "http://www.xxx.com/sample.txt"; //WebサイトのURL(http) // String text = loadTextHttp(httpUrl, "UTF-8", 10000); //Timeout:10秒 //(Android) <uses-permission android:name="android.permission.INTERNET" /> が必要。 public static final String loadTextHttp(String httpUrl, String charsetName, int connectTimeout) throws SocketTimeoutException, IOException { final URL url = new URL(httpUrl); final HttpURLConnection con = (HttpURLConnection)url.openConnection(); con.setConnectTimeout(connectTimeout); //接続タイムアウト con.setRequestMethod("GET"); con.connect(); InputStream is = con.getInputStream(); return loadText(is, DEFAULT_ENCORDING); } /////////////////////////////////////////////////////////////////////////////// 以下上記の参考ソースコードをもとに書いたものです。 import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import java.io.*; import java.net.*; import java.net.URL; import java.io.*; public class MainActivity extends AppCompatActivity { private static final String DEFAULT_ENCORDING = "UTF-8"; private static final int DEFAULT_READ_LENGTH = 8192; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String httpUrl = "http://mononobeno.webcrow.jp/Data.txt"; //WebサイトのURL(http) try { String text = loadTextHttp(httpUrl, "UTF-8", 10000); } catch (IOException e) { e.printStackTrace(); System.out.println(e); } } public static final String loadTextHttp(String httpUrl, String charsetName, int connectTimeout) throws SocketTimeoutException, IOException { final URL url = new URL(httpUrl); final HttpURLConnection con = (HttpURLConnection)url.openConnection(); con.setConnectTimeout(connectTimeout); //接続タイムアウト con.setRequestMethod("GET"); con.connect(); InputStream is = con.getInputStream(); return loadText(is, DEFAULT_ENCORDING); } public static final String loadTextURL(URL url) throws IOException { InputStream is = url.openStream(); //url.openConnection().getInputStream() と同じ return loadText(is, DEFAULT_ENCORDING); } public static final byte[] readStream(InputStream inputStream, int readLength) throws IOException { final ByteArrayOutputStream byteStream = new ByteArrayOutputStream(readLength); //一時バッファのように使う final byte[] bytes = new byte[readLength]; //read() 毎に読み込むバッファ final BufferedInputStream bis = new BufferedInputStream(inputStream, readLength); try { int len = 0; while ((len = bis.read(bytes, 0, readLength)) > 0) { byteStream.write(bytes, 0, len); //ストリームバッファに溜め込む } return byteStream.toByteArray(); //byte[] に変換 } finally { try { byteStream.reset(); //すべてのデータを破棄 bis.close(); //ストリームを閉じる } catch (Exception e) { //IOException } } } public static final String loadText(InputStream inputStream, String charsetName) throws IOException, UnsupportedEncodingException { return new String(readStream(inputStream, DEFAULT_READ_LENGTH), charsetName); } }
mononobe

2016/10/28 02:46

ストリームをファイルにして保存する。というのも意味が分からないので教えてください。
yona

2016/10/28 10:50

コメントにソースコードを載せるとわからないので質問を出力してください。 また、あなたのうまくいかないは私にはわかりません。 エラーが出るのか動かないのか具体的に書いてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問