問題タブ [fileinputstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - RMIを介してInputStreamを渡す方法
次の2つの機能を検討してください。
Function A
inputStreamをパラメーターとして受け取ります。
Function B
Function A
ファイルコンテンツをロードして、として渡しますInputStream
。
Function B
ファイルをFunction A
直接読み取らずにInputStreamとしてに渡すにはどうすればよいですか?
私はこのようなことをしました:
これにより、以下の例外が発生しました。
編集:
loadFile()
InputStreamをRMI応答として渡します。
java - JarEntry を使用したサウンド ファイルの書き込みが意図したとおりに機能しない
さて、私のプログラムでは、プログラムのJar内にさまざまなリソースが保持されています。プログラムが実行されると、この関数に渡された特定のファイルがユーザーのコンピューターのHDDに書き込まれます。すべてが書き込まれますが、画像だけが 100% 正しく出力されます。サウンドファイルはそれほど幸運ではありません。
基本的に、サウンドを正しく書き込むことができません。ファイル サイズは正しいのですが、完全な長さのオーディオではなく、ほんの一瞬のオーディオしか含まれていません。ここで何か不足していますか?私はすべて正しいことをしたように見えますが、それが本当ならここに投稿することはありません.
この問題をグーグルで調べようと最善を尽くしましたが、失敗しました。
これが機能しない理由についての推測は驚くべきものです!! :)
java - テキストファイルからデータを取り除く
テキスト ファイルの日付がどのように見えるかを投稿することから始めます。これはわずか 4 行で、実際のファイルは数百行の長さです。
2011 年 9 月 9 日金曜日
-STV 101--------05:00 - 23:59 SSB 4185 レポート 2011 年 9 月 8 日 2:37 に印刷
0-AH 104--------07:00 - 23:00 AH GYM レポート 2011 年 9 月 8 日 2:37 に印刷
-BG 105--------07:00 - 23:00 SH GREAT HALL レポート 2011 年 9 月 8 日 2:37 に印刷
このテキスト ファイルでやりたいことは、日付のある最初の行を無視し、次の行の「-」を無視して、「STV 101」、「5:00」、および「23:59」を読み込むことです。それらを変数に保存してから、その行の他のすべての文字を無視し、その後の各行についても同様です。
これが私が現在行を完全に読んでいる方法です。そして、ユーザーが scheduleTxt JTextfield にパスを入力したら、この関数を呼び出します。各行を読み取り、印刷できます。
更新:金曜日を一番上の行から取り除き、それを変数にも入れる必要があることがわかりましたありがとう!牛肉。
java - FileInputStreamはすでにバッファを使用していますか?
FileInputStreamを使用してオブジェクト(たとえば数バイト)を読み取る場合、基礎となる操作には次のものが含まれますか?
1)ディスクのブロック全体を読み取って、後で別の読み取り操作を実行した場合、ファイルのその部分が最後の読み取り操作で既にフェッチされているため、実際のディスクの読み取りが不要になりますか?
また
2)FileInputStreamはバッファリングを行わず、代わりにbufferedInputStreamを使用して(1)の効果を達成する必要があるため、新しいディスクアクセスが発生しますか?
FileInputStreamはreadシステムコールを使用し、ハードディスクから一連のページのみを読み取るため、何らかのバッファリングを行う必要があると思います。
java - 正規表現を使用してテキストファイルからデータを削除します
テキストファイルのデータがどのように見えるかを投稿することから始めます。これはわずか4行で、実際のファイルの長さは数百行です。
テキストの各小さなセクションは、テキストファイルの1行にあり、何らかの理由で質問形式で表示されない多くのスペースで区切られています。テキストの最初のセクションを、取得しようとしているデータの例として使用します。
これがファイルから取得したいデータです、、、、、Friday
そして行5:00
の読み取り11:59
を無視します。テキストのセクションの2行目のすべての情報も無視されますが、テキストファイル自体では無視されます。すべて1行で。次に、このデータを使用して、各部分を変数に保存します。または、代わりに、データの一部が次のようにフォーマットされることがあります。、、正規表現がこれらのいずれかを検出した場合、前後のその行のすべてのデータを無視できます。STH 1102
HOLD DO NOT BOOK
HOLD DO NOT BOOK
DO NOT BOOK
HOLD - DO NOT BOOK
また、PMが含まれている時間を取得し、24時間形式になるように12を追加したいと思います。
これが私が現在完全に行を読んでいる方法です。そして、ユーザーがscheduleTxt JTextfieldにパスを入力したら、この関数を呼び出すだけです。各行を正常に読み取って印刷できます。
私はこの質問にそこがあることを知っています、うまくいけば、あなたはイムが何を求めているかを理解しているでしょう、何かが不明な場合はただ尋ねてください、ありがとう!牛肉。
更新:このデータの意図を説明するのに役立つかもしれないと思ったのですが、最初にPM時間を24時間形式に変換し、次に4番目のデータに従って(STH 1102
)を使用する挿入関数を呼び出します。行からデータベースに他のデータを挿入するためのODBCドライバー
java - Java FileInputStream からバイトを読み取るときに、-1 と 0xff をどのように区別しますか?
そのため、単純な XOR 暗号化を実行するミニアプリを作成する必要がある就職の面接のテストを受けなければならず、この質問に出くわしました。FileInputReader を使用して各バイトを取り込み、キーを使用して XOR 演算を実行し、結果を FileOutputStream にプッシュしました。これが私が考えさせられたものです。
FileInputStream は、32 ビットの符号付き型である int を返します。1 バイトしか受信しない場合は、「バイト」型にキャストできます。FileInputStream は、EOF に達した場合も -1 を返します。しかし、2 の補数バイナリでは -1 == 0xff であり、読み取ったバイトが EOF ではなく、実際に 0xff である場合はどうなるでしょうか?
0xff は、特別な場合 (EOF など) を除いて数学的に返されないバイトですか? それとも、これは、読み取っているデータによっては考慮しなければならない状況ですか?
java - ファイルで改行文字が見つからない (java)
ファイルの最後の行を取得しようとしていますが、出力では見つからないことが示されています。また、すべての行が始まる "[" を探してみましたが、ジャンプが完璧でない限り、プログラムは "[" をスキップしません。「\r\n」、System.getProperty("line.separator")、\r、\nを探してみました。おそらくばかげた間違いですが、私が持っていて見つけられなかった場合、他の誰かがそれに遭遇する可能性があります.
コードのアイデアは、テキスト ファイルの最後の行をすばやく読み取ることから来て います。
私が使用するファイルはこれです http://www.4shared.com/file/i4rXwEXz/file.html
助けてくれてありがとう、私のコードを改善できる他の場所があれば教えてください
java - Javaでテキストファイルから複数の配列にデータを解析する
まず、私はJavaにかなり慣れていないので、明らかな間違いを犯している場合はご容赦ください...
データを読み取り、データを別々の配列に分割する必要があるテキストファイルがあります。
テキストファイルには、この形式のデータが含まれています(ただし、必要に応じて、それが唯一の方法である場合は、識別子タグを持つように少し変更することができます)
noOfStudents
studentNAme
studentIDnumberOfCoursescourseNamecourseNumbercreditHoursgradecourseNamecourseNumbercreditHoursgradecourseNamecourseNumbercreditHoursgrade
。
_
_
。
studentNAme StudentIDnumberOfCoursescourseNamecourseNumbercreditHours
グレード
courseNamecourseNumbercreditHoursグレード
courseNamecourseNumbercreditHoursグレード
。
。
最初の行は、リストされ、アレイに移動する必要がある「学生」の総数を示しています。1つの配列には学生情報が含まれるため
、studentName、studentID、numberOfCoursesは
1つの配列になり、
courseName、courseNumber、creditHours、grade
は2番目の配列になります。
私の問題は、このデータを解析する方法に起因しています。
私は現在、最初の行を読んでいて、intに変換し、それを使用して生徒の配列のサイズを決定しています。その後、データを配列に移動する方法がわからなくなり、どの行をどの配列に移動するかをプログラムに認識させることができます。
注意すべき点の1つは、各学生が受講するコースの数は可変であるため、1行を1つの配列に、次に3行を次の配列に単純に読み取ることはできないということです。
識別子を使用する必要がありますか、それとも明らかな何かが欠けていますか?私はこの問題を1週間見てきましたが、この時点で私はただイライラしています。
どんな助けでも大歓迎です!ありがとうございました
編集:これが私が現在取り組んでいるコードセクションです。
これが誰かが私を正しい方向に導くのに役立つことを願っています。
この時点から私が抱えている主な問題は、学生情報が学生配列に読み込まれ、次にコース情報が適切なコース配列の場所に読み込まれ、新しいものからやり直す方法を見つけることだと思います。すべての学生が読まれるまで学生。
java - テキストファイルを復元する方法は?
テキストファイルから以下のデータを復元したい。問題は、復元できる文字列/行が 1 つだけで、残りのデータを復元できないことです。
コードは次のとおりです。
java - 後でではなく、読み取り中に InputStream によって読み取られたバイトを変更します
通常のエンドユーザーが一部のファイルに簡単にアクセスできないように、単純な種類の暗号化を行う必要があります。
FileInputStream によって読み取られるファイルは、html ファイル、png、jpeg、およびさまざまな単純なテキスト ファイル (javascript、xml など) です。
私が現在していることはこれです:
メモリに完全なバイト配列があるため、メモリ フットプリントは非常に大きくなります (メモリ内に 2 MB を超えるビットマップについて話します)。
FileInputStream クラスを単純に拡張して、ファイルの内容を読み取りながらバイト操作を行うことができると考えました。Bitmap.decodeStream(inputstream)
ビットマップを取得するためにバイト配列を作成する代わりに使用できるので、メモリ使用量を減らすことができます...しかし、ここでは完全に立ち往生しています。read()
メソッドとメソッドはネイティブであるため、readBytes(...)
オーバーライドできません。
私の闇に光を広げてください...