問題タブ [nsfilehandle]
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.
objective-c - NSTask はリリース ビルドで standardError のみを返す
まず第一に、Xcode でデバッグおよび実行すると、すべてが期待どおりに機能します。
しかし、アプリを「共有」しようとすると、つまりリリース ビルドを作成すると、standardErrors が出力されている間、NSTask は standardOutput を出力しません。そんなことがあるものか?
私のコード
objective-c - ObjectiveCFileHandleのfileHandleWithStandardOutput
FileHandle
クラスにはfileHandleWithStandardOutput
メソッドがあります。ドキュメントによると、「従来、これはプログラムからデータのストリームを受信する端末デバイスです。」
私がやりたいのは、128バイトごとにファイルを読み取り、fileHandleWithStandardOutput
メソッドを使用して端末に表示することです。
これは、128バイトごとにどのように読み取っているのかを示すコードフラグメントです。
kBufSizeは、128に等しいプリプロセッサです。
私の答え:
outFileをfileHandleWithStandardOutput
..の戻りNSFileHandleに設定します。
以前に試しましたが、うまくいきませんでした。そして今はうまくいきました。他に何かがあるか、何かが干渉している可能性があります。とにかく私は今答えを得ました。
objective-c - NSFileHandle&iOSのファイルへの非同期の書き込み
Webサービスリクエストを介してバイトデータを受信し、それをiOSデバイス上のファイルに書き込みたいという状況があります。以前は、すべてのデータ(データの最後まで)をメモリ変数に追加し、最後にNSStream
次の方法を使用してiOSデバイスのファイルにデータを書き込みていました。
小さなサイズのデータでは問題なく動作しますが、問題は、Webサービスを介してデータを受信している場合、それが大きなチャンク(数MB)になる可能性があり、ファイルに書き込むためにすべてをメモリに収集したくないことです。効率的にNSFileHandle
する小さなチャンクサイズのデータを同じファイルに数回書き込むように切り替える必要があると思います。今私の質問は、これを行うための最良のアプローチは何ですか?つまり、バックグラウンドでファイルに書き込むにはどうすればよいNSFileHandle
ですか?私は次のようなコードを使用します:
}
しかし、1〜2 Mbのデータサイズを上記のメソッドに渡す場合、バックグラウンドで実行する必要がありますか?参考までに、私はメインスレッドで書いています。
java - NSTaskは、NSFileHandleではなくコンソールに出力をパイプします
のNSNotificationを設定しましたNSFileHandleReadCompletionNotification
。
2本の別々のパイプで標準I/Oをセットアップしました。
Java jarを実行するNSTaskを起動し、データの読み取りを開始します。
[[serverTask.standardOutput fileHandleForReading] readInBackgroundAndNotify];
そして、私は継続的にデータを読み取り、NSTextView
それが新しいデータである場合はデータを追加します。
しかし、私は奇妙な出力を取得していますNSTextView
これらの「>」文字は実際の出力の行である必要がありますが、代わりに出力はXcodeのコンソールに表示されます。
言い換えると、コンソールは、出力NSPipe
の新しい行の表示のみを出力するmyではなく、出力を出力します。
objective-c - Objective C/iPhone で実行中に変更されたファイルを読み取れない
ファイルを読み取って、アプリのファイルの内容を変更しようとしています。ここにviewWillAppearメソッドの私のコード:
ここに myfile.txt の内容があります:
ここでは、ビューが表示された後の nslog の結果:
しかし、問題は、myfile.txt の内容を変更したときです (アプリは引き続き実行されます)。
結果は実際の myfile.txt コンテンツに変化せず、代わりに古いコンテンツが表示されます。
したがって、シナリオは、ビューをプッシュし (その後、viewWillAppear が実行されます)、結果が表示され、別のビューに移動し、myfile.txt の内容を変更し、最初のビューに戻り (viewWillAppear を再度実行するため)、結果は変わりません。
誰でも myfile.txt の実際の内容を取得するための回避策を教えてもらえますか? ありがとう。
iphone - ファイル iOS のデータ (バイト) の変更
約 700MB の巨大な暗号化ファイル (mp4) があります。ファイルのヘッダーは(1MB+ダミーバイト)程度暗号化されています。このファイルの復号化は正常に完了しました。
今、ファイル(同じファイル)内の(1MB +ダミー)暗号化されたバイトを削除し、それらを復号化されたバイトに置き換えたいと思います。
どうすれば同じことを達成できますか? この点で何か助けていただければ幸いです。前もって感謝します。
[encVideoFile closeFile];
私がここで直面している問題は、私が (1MB+ DummyBytes) 暗号化しており、1MB+ DummyBytes を復号化すると、約 0.9MB (復号化されたバイト) になることです。
それでも私の問題は解決しません(0.9MB+不要なバイト+暗号化されていないバイト)。
克服方法の提案は役に立ちます。
iphone - 「readInBackgroundAndNotify」はレシーバーの保持数を増やします
NSFileHandle
ソケットからデータを読み取るために使用しています。これが私が作成している方法ですfilehandle
:
filehandle = [[NSFileHandle alloc] initWithFileDescriptor:sock closeOnDealloc:YES];
私はこれをやっています:
readInBackgroundAndNotify
が1ずつ増加していることに気付きretainCount
ましfileHandle
た。したがって、filehandle
データの読み取りが完了したらこれを解放しても、メモリは解放されません。そのため、無効なデータを読み取ろうとしてアプリがクラッシュします。この問題はiOS4.3で発生していますが、iOS5では発生していないことに注意してください。をリリースする前にオブザーバーを削除していfilehandle
ます。ファイルハンドルオブジェクトを解放する前に他にすべきことはありますか?
ios - ファイルサイズについて調べてみました。しかし、私の長さはゼロに等しい
ファイルサイズについて調べてみました。
しかし、私の長さはゼロに等しいです。なんで?
ios - [NSConcreteFileHandle writeData:]: 不正なファイル記述子 - 起動時にアプリがクラッシュする
私は GTMLogger を使用しており、 iOS5.1 に移行してからクラッシュしているように見える次のコードがあります。奇妙なことは再現できないようですが、多くのユーザーに起こっていることは知っているので、追跡する方法がわかりません.
[NSConcreteFileHandle writeData:]: Bad file descriptor
試してキャッチすることはできますが、回避策ほどの解決策ではありません。
これは疑わしい部分です:
誰もそのようなものを得たことがありますか?
cocoa - NSFileHandle とバイトのセクションの削除
ファイルの一部のバイトを削除する明らかな方法はないと思うので、少し驚いています。
つまり、900 GB を保持するファイルがあり、オフセット 54 から始まる 8 バイトを削除したいとします。
データをメモリに渡さずにそれを行う方法はありますか?
ありがとうございました!