คำถามติดแท็ก stream

ห้ามใช้เพื่อ JAVA STREAM API (ใช้ [java-stream] สำหรับคำถามเหล่านั้น!) สตรีมเป็นชุดขององค์ประกอบข้อมูลที่สามารถเข้าถึงได้ในแบบอนุกรม

1
เปิดสตรีม IO จากไฟล์ในเครื่องหรือ url
ฉันรู้ว่ามี libs ในภาษาอื่นที่สามารถใช้สตริงที่มีพา ธ ไปยังไฟล์ในเครื่องหรือ url และเปิดเป็นสตรีม IO ที่อ่านได้ มีวิธีง่ายๆในการทำทับทิมหรือไม่?
105 ruby  stream 

8
วัตถุประสงค์ของ Serialization ใน Java คืออะไร?
ฉันได้อ่านบทความจำนวนมากเกี่ยวกับ Serialization และวิธีการที่ดีและยอดเยี่ยม แต่ไม่มีข้อโต้แย้งใดที่น่าเชื่อเพียงพอ ฉันสงสัยว่าจะมีใครบอกฉันได้จริง ๆ ว่าอะไรคือสิ่งที่เราสามารถบรรลุได้จากการจัดลำดับชั้นเรียน?

12
“ ไม่รองรับรูปแบบของเส้นทางที่ระบุ”
ฉันมีรหัสต่อไปนี้ในบริการบนเว็บของฉัน: string str_uploadpath = Server.MapPath("/UploadBucket/Raw/"); FileStream objfilestream = new FileStream(str_uploadpath + fileName, FileMode.Create, FileAccess.ReadWrite); ใครสามารถช่วยฉันแก้ไขปัญหาเกี่ยวกับข้อความแสดงข้อผิดพลาดนี้จากบรรทัดที่ 2 ของรหัส ไม่รองรับรูปแบบของเส้นทางที่ระบุ สิทธิ์ในโฟลเดอร์ถูกตั้งค่าให้ทุกคนสามารถเข้าถึงได้โดยสมบูรณ์และเป็นเส้นทางที่แท้จริงไปยังโฟลเดอร์ เบรกพอยต์ให้ค่าstr_uploadpathเป็นC:\\webprojects\\webservices\\UploadBucket\\Raw\\. สตริงนี้มีอะไรผิดปกติ
103 c#  .net  webforms  upload  stream 


9
เล่นเสียงจากสตรีมโดยใช้ C #
มีวิธีใน C # ในการเล่นเสียง (เช่น MP3) จากSystem.IO หรือไม่สตรีมเช่นนั้นถูกดึงกลับมาจาก WebRequest โดยไม่บันทึกข้อมูลลงในดิสก์ชั่วคราวหรือไม่ โซลูชันด้วยNAudio ด้วยความช่วยเหลือของNAudio 1.3 คุณสามารถ: โหลดไฟล์ MP3 จาก URL ลงใน MemoryStream แปลงข้อมูล MP3 เป็นข้อมูลคลื่นหลังจากโหลดเสร็จสมบูรณ์ เล่นข้อมูลคลื่นโดยใช้คลาส WaveOutของ NAudio คงจะดีไม่น้อยที่สามารถเล่นไฟล์ MP3 ที่โหลดมาครึ่งหนึ่งได้ แต่ดูเหมือนว่าจะเป็นไปไม่ได้เนื่องจากการออกแบบไลบรารีNAudio และนี่คือฟังก์ชั่นที่จะทำงาน: public static void PlayMp3FromUrl(string url) { using (Stream ms = new MemoryStream()) { using (Stream stream = WebRequest.Create(url) .GetResponse().GetResponseStream()) …
99 .net  audio  stream  mp3  naudio 

11
การอ่านไฟล์ข้อความขนาดใหญ่พร้อมสตรีมใน C #
ฉันมีงานที่น่ารักในการหาวิธีจัดการไฟล์ขนาดใหญ่ที่โหลดลงในโปรแกรมแก้ไขสคริปต์ของแอปพลิเคชันของเรา (เหมือนกับVBAสำหรับผลิตภัณฑ์ภายในของเราสำหรับมาโครด่วน) ไฟล์ส่วนใหญ่มีขนาดประมาณ 300-400 KB ซึ่งโหลดได้ดี แต่เมื่อพวกเขาไปเกิน 100 MB กระบวนการนี้ก็มีช่วงเวลาที่ยากลำบาก (ตามที่คุณคาดหวัง) สิ่งที่เกิดขึ้นคือไฟล์ถูกอ่านและถูกส่งไปยัง RichTextBox ซึ่งจะถูกนำทางไป - อย่ากังวลกับส่วนนี้มากเกินไป นักพัฒนาที่เขียนโค้ดเริ่มต้นเพียงแค่ใช้ StreamReader และทำ [Reader].ReadToEnd() ซึ่งอาจใช้เวลาสักพักจึงจะเสร็จสมบูรณ์ งานของฉันคือทำลายโค้ดนี้ออกอ่านเป็นชิ้น ๆ เป็นบัฟเฟอร์และแสดงแถบความคืบหน้าพร้อมตัวเลือกในการยกเลิก สมมติฐานบางประการ: ไฟล์ส่วนใหญ่จะมีขนาด 30-40 MB เนื้อหาของไฟล์เป็นข้อความ (ไม่ใช่ไบนารี) บางส่วนเป็นรูปแบบ Unix บางส่วนเป็น DOS เมื่อดึงเนื้อหามาแล้วเราจะหาสิ่งที่ใช้เทอร์มิเนเตอร์ ไม่มีใครกังวลเมื่อโหลดเวลาที่ใช้ในการแสดงผลใน richtextbox มันเป็นเพียงการโหลดข้อความเริ่มต้น ตอนนี้สำหรับคำถาม: ฉันสามารถใช้ StreamReader จากนั้นตรวจสอบคุณสมบัติ Length (ดังนั้น ProgressMax) และออก Read สำหรับขนาดบัฟเฟอร์ที่ตั้งไว้และวนซ้ำในขณะที่วนซ้ำWHILSTภายในโปรแกรมทำงานเบื้องหลังดังนั้นจึงไม่บล็อกเธรด UI หลัก …

8
ความแตกต่างระหว่าง java.io.PrintWriter และ java.io.BufferedWriter
โปรดดูรหัสด้านล่าง: // A.class File file = new File("blah.txt"); FileWriter fileWriter = new FileWriter(file); PrintWriter printWriter = new PrintWriter(fileWriter); // B.class File file = new File("blah.txt"); FileWriter fileWriter = new FileWriter(file); BufferedWriter bWriter = new BufferedWriter(fileWriter); สองวิธีนี้แตกต่างกันอย่างไร? เมื่อใดที่เราควรใช้ PrintWriter กับ BufferedWriter

6
จะบันทึก / กู้คืนอ็อบเจกต์ต่อเนื่องเป็น / จากไฟล์ได้อย่างไร?
ฉันมีรายการวัตถุและฉันต้องการบันทึกไว้ที่ใดที่หนึ่งในคอมพิวเตอร์ของฉัน Serializableฉันได้อ่านฟอรั่มบางอย่างและฉันรู้ว่าวัตถุที่จะต้องมี แต่คงจะดีถ้าได้ตัวอย่าง ตัวอย่างเช่นหากฉันมีสิ่งต่อไปนี้: [Serializable] public class SomeClass { public string someProperty { get; set; } } SomeClass object1 = new SomeClass { someProperty = "someString" }; แต่ฉันจะเก็บไว้object1ที่ไหนสักแห่งในคอมพิวเตอร์ของฉันและเรียกดูในภายหลังได้อย่างไร

3
กระบวนการ Java พร้อมอินพุต / เอาต์พุตสตรีม
ฉันมีตัวอย่างโค้ดต่อไปนี้ด้านล่าง โดยคุณสามารถป้อนคำสั่งไปที่ bash shell ie echo testและให้ผลลัพธ์สะท้อนกลับ อย่างไรก็ตามหลังจากอ่านครั้งแรก กระแสข้อมูลอื่น ๆ ไม่ทำงาน? เหตุใดจึงเป็นเช่นนี้หรือฉันทำอะไรผิด? เป้าหมายสุดท้ายของฉันคือการสร้างงานตามกำหนดเวลาเธรดที่ดำเนินการคำสั่งเป็นระยะ ๆ เพื่อ / ทุบตีดังนั้นOutputStreamและInputStreamจะต้องทำงานควบคู่และไม่หยุดทำงาน ฉันยังพบข้อผิดพลาดเกี่ยวjava.io.IOException: Broken pipeกับความคิดใด ๆ ? ขอบคุณ. String line; Scanner scan = new Scanner(System.in); Process process = Runtime.getRuntime ().exec ("/bin/bash"); OutputStream stdin = process.getOutputStream (); InputStream stderr = process.getErrorStream (); InputStream stdout = process.getInputStream …
91 java  stream 

9
วิธีปิดสตรีมที่อ่านได้ (ก่อนจบ)
วิธีปิดสตรีมที่อ่านได้ใน Node.js var input = fs.createReadStream('lines.txt'); input.on('data', function(data) { // after closing the stream, this will not // be called again if (gotFirstLine) { // close this stream and continue the // instructions from this if console.log("Closed."); } }); สิ่งนี้จะดีกว่า: input.on('data', function(data) { if (isEnded) { return; } if (gotFirstLine) …
91 node.js  stream  fs 

3
วิธีประมวลผลไฟล์ใน PowerShell ทีละบรรทัดเป็นสตรีม
ฉันกำลังทำงานกับไฟล์ข้อความหลายกิกะไบต์และต้องการประมวลผลสตรีมโดยใช้ PowerShell มันเป็นเรื่องง่ายๆเพียงแค่แยกวิเคราะห์แต่ละบรรทัดและดึงข้อมูลบางส่วนออกมาจากนั้นจัดเก็บไว้ในฐานข้อมูล น่าเสียดายที่get-content | %{ whatever($_) }ดูเหมือนว่าจะเก็บเส้นทั้งหมดไว้ที่ขั้นตอนนี้ของท่อในหน่วยความจำ นอกจากนี้ยังช้าอย่างน่าประหลาดใจใช้เวลานานมากในการอ่านทั้งหมด ดังนั้นคำถามของฉันมีสองส่วน: ฉันจะทำให้มันประมวลผลสตรีมทีละบรรทัดและไม่เก็บข้อมูลทั้งหมดไว้ในหน่วยความจำได้อย่างไร ฉันต้องการหลีกเลี่ยงการใช้ RAM หลายกิ๊กเพื่อจุดประสงค์นี้ ฉันจะทำให้มันทำงานเร็วขึ้นได้อย่างไร PowerShell วนซ้ำget-contentดูเหมือนจะช้ากว่าสคริปต์ C # 100 เท่า ฉันหวังว่าจะมีอะไรโง่ ๆ ที่ฉันทำที่นี่เช่นไม่มี-LineBufferSizeพารามิเตอร์หรืออะไรบางอย่าง ...


5
คำขอ HTTP พร้อม file_get_contents รับโค้ดตอบกลับ
ฉันกำลังพยายามใช้file_get_contentsร่วมกับstream_context_createเพื่อส่งคำขอ POST รหัสของฉันจนถึงตอนนี้: $options = array('http' => array( 'method' => 'POST', 'content' => $data, 'header' => "Content-Type: text/plain\r\n" . "Content-Length: " . strlen($data) . "\r\n" )); $context = stream_context_create($options); $response = file_get_contents($url, false, $context); อย่างไรก็ตามมันใช้งานได้ดี แต่เมื่อเกิดข้อผิดพลาด HTTP จะมีคำเตือน: file_get_contents(...): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request …
88 php  file  http  stream 

5
วิธีที่มีประสิทธิภาพที่สุดในการสร้าง InputStream จาก OutputStream
หน้านี้: http://blog.ostermiller.org/convert-java-outputstream-inputstream อธิบายวิธีการสร้าง InputStream จาก OutputStream: new ByteArrayInputStream(out.toByteArray()) ทางเลือกอื่นคือการใช้ PipedStreams และเธรดใหม่ซึ่งยุ่งยาก ฉันไม่ชอบแนวคิดในการคัดลอกเมกะไบต์จำนวนมากไปยังหน่วยความจำใหม่ในอาร์เรย์ไบต์หน่วยความจำ มีห้องสมุดที่มีประสิทธิภาพมากกว่านี้หรือไม่? แก้ไข: ตามคำแนะนำจาก Laurence Gonsalves ฉันลองใช้ PipedStreams และปรากฎว่าพวกเขาไม่ยากที่จะจัดการ นี่คือโค้ดตัวอย่างใน clojure: (defn #^PipedInputStream create-pdf-stream [pdf-info] (let [in-stream (new PipedInputStream) out-stream (PipedOutputStream. in-stream)] (.start (Thread. #(;Here you write into out-stream))) in-stream))

2
ทำไม `std :: basic_ios` มีตัวสร้างสาธารณะ
std::basic_iosมีตัวสร้างสาธารณะ : explicit basic_ios (std::basic_streambuf<CharT,Traits>* sb); IMO เหตุผลเดียวที่คลาสมีตัวสร้างสาธารณะคือการใช้อินสแตนซ์แบบสแตนด์อโลนของคลาสนั้นในโปรแกรม ถ้าชั้นที่มีอยู่เท่านั้นที่จะมีชั้นเรียนอื่น ๆ สืบเชื้อสายมาจากมัน (ขณะที่ดูเหมือนว่าจะเป็นกรณีสำหรับbasic_ios) protectedทั้งหมดก่อสร้างระดับที่ควรจะเป็น สิ่งก่อสร้างของstd::ios_baseทั้งหมดได้รับการคุ้มครอง แต่ด้วยเหตุผลบางอย่างผู้ออกแบบมาตรฐานทำให้ผู้สร้างbasic_iosสาธารณะคนนี้ basic_iosจะถูกใช้เป็นชั้นฐานประเภทกระแสหลาย ๆ และฉันไม่สามารถมองเห็นกรณีการใช้งานที่คุณต้องการมีหนึ่งที่ไม่ได้เป็นอย่างน้อยหรือbasic_istream basic_ostreamมีไหม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.